Commit Graph

21 Commits

Author SHA1 Message Date
Oliver Jowett a135d2b915 Add a --no-fix-df option
Usually, all message candidates are speculatively corrected as if
they were DF11/17/18, even if the DF field has a different value. This
allows correction of messages when there is correctable damage to the
DF field.

However, running every message candidate through a couple of CRC checks
is expensive, CPU-wise, when decoding messages off the air, as there are
a large number of message candidates that are actually just junk data, and
computing CRCs for all of those adds up. The --no-fix-df option allows
disabling this sort of correction. The tradeoff is that messages with
damage to the DF field will not be corrected.
2021-03-08 14:23:35 +08:00
Eric Tran b7205e2e64
faup1090 changes to consume commands via stdin (#107)
* Create a network service and connection faup's stdin. Create a Modes.faup_rate_multiplier attribute and set from faup command input

* Use faup_rate_multiplier to adjust the minAge for emitting messages

* Convert upload_rate_multiplier to a double and adjust minAge with it

* Cleanup

* Var name change

* MODES_NOTUSED define for unused modes client object

* Sanity check on faup multiplier field
2021-02-09 07:25:51 -06:00
Oliver Jowett 0793c64ee8 Clean up linkage of struct Modes to actually make sense.
(how did this work before? But it's been unchanged since at least
2013..)

Maybe fixes #65
2020-06-06 21:52:04 +08:00
Oliver Jowett 8ffa43b65c Add a v/V Beast-format setting to control verbatim mode.
Make --net-verbatim just control the default setting.

0x1A '1' 'v' disables verbatim mode (send "cooked" output);
0x1A '1' 'V' enables verbatim mode

Support clients with different settings by switching them between output
writers depending on what setting they want, so clients with different
settings can co-exist (unlike the Mode A/C setting)

In cooked mode, FEC corrections are applied to messages before they are send
and only trustworthy messages are forwarded; this is the default case for
downstream clients that don't want to apply their own rules and are happy with
the decisions that dump1090 makes.

In verbatim mode, all messages are forwarded, but no FEC corrections are applied;
the downstream client needs to make its own FEC / noise filtering decisions.

Usually the default for new connections is cooked mode. --net-verbatim changes the
default to be verbatim mode.
2019-11-27 21:04:27 +08:00
Rosen Penev ffff5d6646
treewide: Replace usleep with nanosleep
usleep was removed in POSIX 2008 and is optionally unavailable with
uClibc-ng.

Signed-off-by: Rosen Penev <rosenp@gmail.com>
2019-10-03 18:10:46 -07:00
Oliver Jowett 45886edc40 faup1090: write _v on every line, bump TSV_VERSION 2019-03-19 18:10:38 +00:00
Oliver Jowett daebc372a9 Write a version header on faup1090 startup 2018-01-09 17:12:33 +00:00
Oliver Jowett 2142d2edf5 Whitespace changes only: cleaning up trailing whitespace at EOL 2017-06-15 18:17:07 +01:00
Oliver Jowett 298525adc9 --max-range should not be overridable in faup1090. 2017-01-15 13:33:15 +00:00
Oliver Jowett 0526388bdc Factor out sendBeastSettings(), use it in view1090. 2016-12-29 17:53:04 +00:00
Oliver Jowett 4bb070be50 Add support for radarcape type 5 (receiver position) messages. 2016-12-27 19:07:10 +00: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 1e5a6fd854 Don't touch the GPS setting (I had it backwards anyway). 2016-07-13 10:56:54 +01:00
Oliver Jowett 474b564385 Try to configure whatever faup1090 connects to for the settings we want. 2016-07-13 10:02:15 +01:00
ertyu bd1c82a445 Update faup1090.c
update help to match available operations
2016-04-07 15:27:10 -05:00
Oliver Jowett 2b466535de Support multiple listening ports per listener type.
Beast input defaults to listening on both 30004 and 30104.
Drop the FATSV listener entirely (use faup1090 for that)
Ignore --net-beast.
2016-01-24 18:47:58 +00:00
Oliver Jowett 1170ed9620 Set faup1090 default max range to 360NM.
This effectively disables receiver-relative CPR.
2016-01-21 19:01:11 +00:00
David Stipp ae126d1009 Add back Darwin/Mach/Apple portability
Quite a few of the changes against the MalcolmRobb/dump1090 fork are
incompatible with OSX.  This patch adds back that cross platform support
back.
2015-09-05 14:42:11 -04:00
Oliver Jowett 8d815b7a9c faup1090 accepts/requires --stdout 2015-08-07 11:04:32 +01:00
Oliver Jowett 8f08c1b87f Make faup1090 write to stdout, not listen on port 10001. 2015-06-28 19:59:49 +01:00
Oliver Jowett 99dd290352 Rebuild a basic faup1090 using the reworked network services bits.
This is a from-scratch reimplementation that should be functionally
equivalent to the Flightaware version that was based on dump1090_mr
and had its fingers deep in the network code. This version should be
a little less invasive / fragile..
2015-06-26 17:54:23 +01:00