Commit graph

145 commits

Author SHA1 Message Date
Oliver Jowett
e444d2eb5c Fix reversed sense of Track Angle / Heading bit in surface opstatus messages. 2019-06-06 14:15:14 +08:00
Oliver Jowett
d33b1160f2 Add COMMB_AMBIGUOUS for Comm-B messages we're not sure of (not yet used) 2019-05-02 17:29:04 +08:00
Oliver Jowett
1b5b0dfa03 Put ais_charset in its own file to make building commb tests a little easier 2019-05-02 17:24:26 +08:00
Oliver Jowett
a24718feca
Merge pull request #41 from henry1952/patch-3
Fix an error in the bit range used to decode CF in DF18 messages (harmless)
2019-04-13 11:38:48 +08:00
henry1952
37e49906d1
Update mode_s.c 2019-04-11 19:01:07 +02:00
Oliver Jowett
56aa2f7d1e Clarify some comments in v1 TSS 2019-03-19 18:23:49 +00:00
Oliver Jowett
c05aea65a4 Don't use DF18 when updating the known-Mode-S-address set.
DF18 transponders don't necessarily do Mode S, so we shouldn't assume
that Mode S messages from that address are valid merely because we
heard a DF18. If it really is Mode S equipped, we should hear a
DF11 at some point.
2019-01-21 20:11:12 +00:00
Eric Tran
f4692a3784 Ignore altitude reporting when part of airborne position message with air/ground=ground 2018-08-28 17:08:14 +00:00
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