Oliver Jowett
b82922e81c
Strip out bad callsigns seen in ADS-B ident messages.
...
Same rules as apply to Comm-B - alphanumeric + space only.
2018-07-20 20:56:28 +01:00
Oliver Jowett
5a9350a6a1
Derive SPI / Alert from the airborne position message surveillance status field
2018-02-23 19:02:02 +00:00
Oliver Jowett
94824fbb98
Avoid coredump on "untracked" aircraft (icao 000000)
...
Clean up the first-message-squelch logic a little.
2018-02-23 18:21:01 +00:00
Oliver Jowett
1d5db2fd76
Fix baro/geometric rate flag sense in airborne velocity messages
2018-02-20 00:08:26 +13:00
Oliver Jowett
44e8913c2d
Whitespace cleanups
2018-01-09 17:13:34 +00:00
Oliver Jowett
a947163dee
Fix ADSBv0 ground movement decoding
2018-01-09 14:44:20 +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
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
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
60f1f3bcb6
Table-ize the Mode A to C conversions, add a Mode C to Mode A conversion function.
2016-10-11 17:57:25 +01:00
Oliver Jowett
85d3ecee62
Add source & address type for Mode A/C
2016-10-11 17:55:02 +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
729d91c1ab
Fix up address type categorization to match the spec.
2016-09-15 15:30:34 +01:00
Oliver Jowett
50a606d23f
Make it clearer that ADDR_ADSB_ICAO includes Mode S too.
2016-09-14 17:19:49 +01:00
Oliver Jowett
2a4aa29f03
Record the address type details when decoding.
2016-09-14 16:37:07 +01:00
Oliver Jowett
10641303cb
Add a couple more ME types.
2016-09-14 16:12:08 +01:00
Oliver Jowett
9e179d46bf
Don't accept all-zeros messages (e.g. off the network - the demodulator
...
doesn't accept them already)
2016-09-14 16:11:31 +01:00
Oliver Jowett
b827806ce8
Simplify ident decoding, add some sanity checks to the BDS2,0 case.
2016-09-14 16:02:20 +01:00
Oliver Jowett
f9419f13d5
Break up decodeExtendedSquiiter, it was getting pretty large.
2016-09-01 23:13:31 +01:00
Oliver Jowett
a1fdc07db2
Restructure decoding to use a helper function to extract bit ranges
...
With forced inlining this is about as fast, and it is much less
errorprone than the twisty little maze of handcoded bitshifts that
it was before.
(notably, at least one error - in the ACAS RI field - has been fixed)
2016-09-01 22:45:49 +01:00
Oliver Jowett
3e08de91ed
WIP on decoding operational status & target state messages.
2016-08-29 11:11:04 +01:00
Oliver Jowett
54ca2c7fb2
WIP big rewrite of message decoding / aircraft tracking.
2016-08-27 14:34:14 +01:00
Oliver Jowett
8b8f8d7a40
Use INVALID_ALTITUDE in a few more places.
2016-08-26 21:38:06 +01:00
Oliver Jowett
a910454c02
Comm-D ELM is actually DF 24..31, not just 24.
...
This DF is formatted with the first two bits as 1, and the next 3 bits
are part of the message rather than part of the DF code. So effectively
it spans 8 DF values if you are looking at the full 5 bits.
2016-08-26 11:35:11 +01:00
Raphael Geissert
1269d73690
Fix another string format where %d is used but an unsigned int is passed
2016-04-05 21:05:36 +02:00
Oliver Jowett
356cda2917
Flush stdout after writing message details so it works reasonably if there's also stderr output nearby.
2016-02-05 15:41:10 +00:00
Oliver Jowett
2a07897354
Be more selective about what is flagged as TIS-B.
2016-01-24 19:09:30 +00:00
Oliver Jowett
1a2926b311
Display ES data for DF=18, CF=2 when showing messages verbosely.
...
Always show an address for DF=18, using the NON_ICAO flag as needed.
2016-01-22 14:36:59 +00:00
Oliver Jowett
cc04f315b4
Make the HAE/Baro offset field a bit clearer.
...
(given that I got confused by the old name after only a couple of weeks
away from that code..)
2016-01-22 14:36:17 +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
9479a5c9be
If --hae is passed, report altitudes as HAE where available, with a H suffix.
...
This affects interactive mode and SBS output.
2016-01-01 15:15:28 +00:00
Oliver Jowett
efd6b94310
Track HAE altitude separately to baro altitude where possible.
2016-01-01 13:42:30 +00:00
Oliver Jowett
f6ff1c853b
Show synthetic MLAT messages as such.
2015-06-29 12:42:50 +01:00
Oliver Jowett
803760ca80
Treat an all-zeros message as bad.
2015-06-29 00:50:19 +01:00
Oliver Jowett
75851778c0
Fix up filter population so it's not completely insane.
...
The logic for DF11 was completely broken and inverted. How did this ever work??
Actually, the broken version kinda works because the only types of message that
can yield an address that's not already in the ICAO filter are DF11/17/18.
So DF=17; DF=18; and DF=11 with IID=0 would pass the broken logic and populate the
filter. All other DFs would pass the broken test, too, but they can only ever
re-add entries that were already there.
2015-06-29 00:46:34 +01:00
Oliver Jowett
934dfee6a4
Change the mlat timestamp to something that doesn't need escaping.
2015-06-29 00:31:42 +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
f58ff14d7c
Fix queueing/resending very old Mode A/C messages.
...
Fixes #47 .
2015-06-07 23:00:24 +01:00
Oliver Jowett
0bd897cad1
Fix --mlat --raw stdout formatting on big-endian systems.
2015-04-19 00:57:24 +01:00
Oliver Jowett
15ea5ba3da
Rearrangements to the receive thread.
...
Magnitude conversion now happens immediately when sample data is
received, so there is no risk of newly received data clobbering old
data under CPU overload.
2015-04-09 18:51:31 +01:00
Oliver Jowett
e1d262d992
Add --show-only for extracting messages from a single plane.
2015-02-22 23:01:54 +00:00
Oliver Jowett
8f3be2cd79
Decode aircraft category, export in aircraft.json.
...
Closes #2 .
2015-02-22 12:15:26 +00:00