Commit graph

195 commits

Author SHA1 Message Date
Matthias Wirth 82c5ff6724 Fix possible missing \n termination of TSV messages
If the \n termination of TSV messages is missing, faup1090 encounters
the following error:
Caught background error: list must have an even number of elements
    while executing
"array set row [split $line "\t"]"
    (object "::faup1090" method "::FaupConnection::data_available" body line 28)

This missing termination with \n can happen when p == end is true in the
overrun check. vsnprintf will always terminate the string with \0, so if
the vsnprintf is called to write the to the last position in the buffer
(end-1), it will write \0 instead to terminate the string as not to
overflow the buffer.
To catch that possibility the overrun check is changed to p < end as
then vsnprintf is assured to have had enough room to write the \0
termination to end-1.
2019-04-08 20:29:56 +02:00
Matthias Wirth b281ceee7b Increase maximum TSV packet size
Due to commit 45886edc40
faup1090: write _v on every line, bump TSV_VERSION
and maybe other changes the TSV packets are bigger and some users have
reported the following error:
piaware[9040]: faup1090(27427): fatsv: output too large (max 600, overran by 20)

Fix this error by increasing TSV_MAX_PACKET_SIZE to 800
2019-04-08 20:03:57 +02: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 45886edc40 faup1090: write _v on every line, bump TSV_VERSION 2019-03-19 18:10:38 +00:00
Oliver Jowett 9c124b3f2b When generating aircraft.json, leave space for the final line.
Otherwise if there are only a few bytes free at the end of the loop
there's no space for the final line and it won't get appended.

Should fix mutability/dump1090#240
2018-12-31 11:17:28 +00:00
Oliver Jowett 01a4477c92 Fix mangled msec part in port 30003 timestamps 2018-07-31 23:49:05 +01:00
Oliver Jowett fffd3c9913 Bump TSV_VERSION due to 7x00 handling change 2018-07-10 23:38:47 +01:00
Oliver Jowett d267d2257a Fix tisb/mlat json flag formatting 2018-03-08 21:15:41 +00:00
Oliver Jowett 213d769bf9 Tweaks to json output / webmap handling of new fields (untested) 2018-03-08 17:34:34 +00:00
Oliver Jowett d8f568e0ce Switch everything over to safe_snprintf
Rework the aircraft json overflow/resize case
Add more fields to the json, reorder to match header ordering
2018-03-07 20:10:50 +00:00
Oliver Jowett 0608e31965 Move some static functions earlier 2018-03-07 20:09:23 +00:00
Oliver Jowett abfb88b124 Separate sil / sil_type to make compression a bit simpler 2018-02-22 07:45:32 +00:00
Oliver Jowett f1036702ce Use the time we last saw a message for data validity checks / data age info,
rather than the time we eventually decide to emit it.
2018-02-22 07:42:22 +00:00
Oliver Jowett a256833e17 Increase the max tsv output size 2018-02-22 07:42:04 +00:00
Oliver Jowett 7059c0f64a adsbVer -> adsb_version 2018-02-20 00:26:16 +13:00
Oliver Jowett aa78020410 Emit changed emergency/priority status immediately 2018-02-20 00:25:49 +13:00
Oliver Jowett 286d8e7a10 tsvVersion -> tsv_version 2018-02-20 00:25:15 +13:00
Oliver Jowett d6c0612767 Remove doubled-up banner/header code 2018-02-20 00:24:39 +13:00
Oliver Jowett 44e8913c2d Whitespace cleanups 2018-01-09 17:13:34 +00:00
Oliver Jowett daebc372a9 Write a version header on faup1090 startup 2018-01-09 17:12:33 +00:00
Oliver Jowett 571ea7ac41 Emit integrity info, when it changes. 2018-01-09 14:46:33 +00:00
Oliver Jowett 63d1b4b553 Consistency in *_enum_string naming 2018-01-09 14:45:18 +00:00
Oliver Jowett ea1e9c336b Decode/emit emergency/priority status 2018-01-09 14:43:58 +00: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 e3c8c91852 Emit adsb version in json & faup1090. Show it in skyview. 2017-06-15 23:42:05 +01:00
Oliver Jowett c7855c5ab6 Feed more data to skyview, basic display updates. 2017-06-15 22:36:23 +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 05e9601903 Fix compilation. Emit some changes immediately in faup1090. 2017-06-15 18:30:12 +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 0d7177fe9a Squawk/callsign might not be seen regularly from Mode S transponders
as it relies on SSR interrogation. Increase the FATSV validity
timeout so that any message we do see stays valid long enough to
get reported.
2017-04-21 22:25:41 +01:00
Oliver Jowett 52464b97c1 Remove internal webserver code entirely. 2016-12-29 18:35:35 +00:00
Oliver Jowett 64fd61cffc Don't process Beast mode A/C messages if mode A/C is disabled. 2016-12-29 17:57:53 +00:00
Oliver Jowett 6336611bc7 Turn on mode A/C if a Beast connection asks for it.
Add a --no-modeac-auto option to disable this.
2016-12-29 17:56:32 +00:00
Oliver Jowett cbdfd9dc5d Read Beast commands on Beast output clients, interpret the Mode A/C setting command. 2016-12-29 17:55:56 +00:00
Oliver Jowett 34aeb29347 Refactor the network input parser to make it easier to extend for new formats. 2016-12-29 17:54:53 +00:00
Oliver Jowett 0526388bdc Factor out sendBeastSettings(), use it in view1090. 2016-12-29 17:53:04 +00:00
Oliver Jowett 11b6cdba06 Rearrange fatsv location update message. 2016-12-27 19:15:56 +00:00
Oliver Jowett 4517055320 One less magic constant. 2016-12-27 19:14:20 +00:00
Oliver Jowett 4bb070be50 Add support for radarcape type 5 (receiver position) messages. 2016-12-27 19:07:10 +00:00
Oliver Jowett 14748b1e8f Emit heading_magnetic correctly. 2016-10-25 21:05:03 +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 812e4486a4 Merge remote-tracking branch 'upstream/master' into dev 2016-10-01 15:18:26 +01:00
Oliver Jowett 6f2e4fa891 Fix a stray extra comma in port 30003 output if only GNSS altitude was available. 2016-10-01 13:11:14 +01:00
Oliver Jowett 0c71b3db27 Fix up unsigned subtractions & use of abs.
Also fix heading difference which was just wrong, signed or not.

Should fix #150
2016-09-26 22:00:52 +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 abc30ff656 Increase the TSV packet size to accomodate all the extra data recently added. 2016-09-22 15:33:21 +01:00
Oliver Jowett 32c8358bc1 faup1090: Reinstate TIS-B reporting as just the address type is
not sufficient if there is both TIS-B and Mode S for the same
aircraft.
2016-09-22 13:53:40 +01:00