Commit Graph

1540 Commits

Author SHA1 Message Date
Oliver Jowett f7123c41e5 When trying to correct a DF11 that had bits set in the top 17 bits of the
residual, use the full 24-bit syndrome.

Previously this would mask off the low 7 bits, which isn't particularly
great - it doesn't really make sense in that it implies a somewhat
random IID value, and it would actually only correct 20 possible bit
errors out of the 51 possible errors, 16 of which were errors in
the top 16 bits of the CRC itself. It is also risky as it will accept
a larger number of possible garbage messages as the lower 7 bits may take
any value.

Instead, use the full syndrome, assuming that the damaged message
had IID=0 - which seems more likely than assuming a random IID, since
IID=0 is used for acquisition squitters and should be arriving regularly.

The reduced rate of corrections for DF11 messages shouldn't have
much of an impact as DF11s carry very little data themselves - they
are mainly used to acquire the aircraft address. Once one good message
for an aircraft turns up (which would require IID=0 anyway before we'd
accept it) it doesn't really matter if we discard more damaged messages,
as they're not contributing to anything useful in the aircraft state
beyond air/ground status, which is also carried in many other messages.
2019-12-02 21:27:18 +08:00
Oliver Jowett ae29613d85 Exit view1090 on connection loss in non-interactive mode 2019-12-02 19:52:43 +08:00
Oliver Jowett a224f6f783 Put a warning header up in view1090 interactive mode when there's no connection 2019-12-02 19:51:06 +08:00
Oliver Jowett fb110802d6 When view1090 reconnects, re-send our connection settings on the new connection 2019-12-02 19:50:31 +08:00
Oliver Jowett 59170cbacb Tweak --net-ro-size / --net-ro-interval defaults 2019-12-02 13:49:48 +08:00
Oliver Jowett 4ab1938f97 Update package defaults to pass --fix (1-bit crc correction) to match the piaware-support generated config on sdcard images 2019-12-02 13:47:29 +08:00
Oliver Jowett c853db67d0 Remove duplicated --net-bo-port 30005 in default config 2019-12-02 13:40:23 +08:00
Oliver Jowett f868e4c010 Bump TSV_VERSION for verbatim mode / track reliability changes 2019-12-02 13:01:43 +08:00
Oliver Jowett ea9f81c605 Remove first_message field as it's now unused. 2019-11-28 13:56:11 +08:00
Oliver Jowett 19327926f1 Cooked vs verbatim was reversed, fix it 2019-11-27 22:28:09 +08:00
Oliver Jowett b2e9153653 Add stats for unreliable tracks 2019-11-27 21:41:33 +08:00
Oliver Jowett a8737f7916 Remove --aggressive entirely, replaced by "--fix --fix" to enable 2-bit FEC.
nb: messages with a correctable 2-bit error are only forwarded to network
clients that have enabled verbatim mode (and they will be forwarded with
the 2-bit error still present, so the downstream client must apply its own
correction if desired)
2019-11-27 21:09:19 +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
Oliver Jowett 54409b4836 Split beast output into two separate writers for verbatim vs. non-verbatim
in preparation for supporting both types of connection in parallel
2019-11-27 21:01:46 +08:00
Oliver Jowett dfc588335a Move output filtering down a level into the individual output functions. 2019-11-27 20:57:01 +08:00
Oliver Jowett 54f2c54d8f Include only reliable tracks in aircraft.json, faup1090 output 2019-11-27 20:51:23 +08:00
Oliver Jowett 9500a2f2f7 Show only reliable tracks in interactive mode 2019-11-27 20:51:23 +08:00
Oliver Jowett 429e34db21 Include ADS-B version in interactive mode display 2019-11-27 20:51:23 +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 dda442c121
Merge pull request #54 from flightaware/settings_checkboxes
Fix settings checkboxes on high dpi screens
2019-11-25 21:29:07 +08:00
Oliver Jowett 3c76eeb51c
Merge pull request #53 from neheb/b
treewide: Replace usleep with nanosleep
2019-11-25 21:28:09 +08:00
Oliver Jowett 620cb3a720 Regenerate TypeDesignatorIcons based on internal FA icon mappings 2019-11-18 20:15:05 +08:00
Oliver Jowett a11576710d Make the stretch build be a backport. Add a build rule for buster. 2019-11-07 10:54:24 +08:00
Oliver Jowett f1fef5b8fc Add buster to the Jenkins build 2019-11-07 10:41:40 +08:00
Oliver Jowett 36ae24838f 3.8.0~dev 2019-11-07 10:40:24 +08:00
James Wilson af786e6e85
Fix settings checkboxes on high dpi screens 2019-10-04 20:46:17 -05: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 089684e20f Merge branch 'dev' into staging 2019-09-11 13:05:31 +08:00
Oliver Jowett 25b3a34fff Add a versioned cache bust to all the javascript URLs 2019-09-11 12:59:51 +08:00
Eric Tran ae4a89b707 Release 3.7.2 2019-09-09 14:29:26 +00:00
Oliver Jowett dabb6fc135 Trigger build after bladeRF build; turn off build durability; turn off concurrent builds 2019-09-05 15:32:04 +08:00
Oliver Jowett 0a0fb46b5d Pass branch name to validate-packages 2019-09-04 23:55:48 +08:00
Oliver Jowett 1d29f5e059 Reject outright a libbladerf that's too old 2019-09-04 22:46:38 +08:00
Oliver Jowett 18d47fd5ff Fix polyfill for really old libbladerf-dev which doesn't provide an API version define 2019-09-04 22:14:56 +08:00
Oliver Jowett 4edb2e8e35 Use new build infrastructure scripts 2019-09-04 21:53:53 +08:00
Oliver Jowett e2761fc21d
Merge pull request #48 from wiedehopf/track_history_fix
SkyView: Fix aircraft trail handling
2019-08-16 18:46:49 +08:00
Oliver Jowett 6a0df00e2d Update aircraft DB to 20190816.
In addition to the usual updated data, this update fixes a number
of ICAO type designator errors in the FlightAware static data
export (notably for the A330).

Fixes #17
2019-08-16 15:42:01 +08:00
Oliver Jowett d0094d5abd Fix registration stride mappings with a non-zero offset.
registrations.js would miscalculate the end of the address range
in these cases, causing the mapping to be skipped for addresses
that we could have handled.

This specifically affected German registrations beginning with
D-AP through D-AZ and D-BP through D-BZ
2019-08-16 15:19:44 +08:00
Oliver Jowett 35299c47ba Have filter-regs emit a special value "-COMPUTED-" for filtered data values,
rather than blanking them out entirely.

This lets csv-to-json.py handle the case where an earlier input file has (e.g.)
a registration value which does not match the computed value, and then a later
input file has a value that does match. In this case we want to override the
older value with the newer value, then notice that the registration can be
omitted when writing the database. Previously in this case the older (incorrect)
value would be used.
2019-08-16 15:16:55 +08:00
Oliver Jowett 0d2bd6ae34
Merge pull request #49 from wiedehopf/markers-fix
Fix some display errors
2019-08-13 19:38:32 +08:00
Eric Tran 1ecc925ed5 Remove wheezy from Jenkins build process 2019-08-01 13:57:53 +00:00
Eric Tran d9a78636a6 Version bump to 3.7.2~dev 2019-07-31 16:28:21 +00:00
Eric Tran 9cef820dfc Merge branch 'SkyAware' into dev 2019-07-31 16:23:20 +00:00
Matthias Wirth f1cb09d0e3 SkyView: Fix trail color for planes that are now on ground
When determining the color for a given altitude, don't check the current
altitude if it's ground but the altitude passed as an argument to the
function.
Without this fix, when clicking an aircraft on ground, its entire trail
is drawn in the color for ground.
2019-07-30 13:30:03 +02:00
Matthias Wirth 207ca0c401 SkyView: Unify stale check for loading the history
When loading the history, the check for stale aircraft tracks is done
differently.
This results in lots of dotted/stale track after opening the web page.
Improve this by using the same 5 second timeout stale criterion to
postions loaded from history. Add an additional check to better detect
stale tracks when loading history positions that are spaced 30 seconds
apart.
2019-07-30 13:24:11 +02:00
Matthias Wirth 76ab0a7ebe SkyView: Fix ground markers
Add width and height to the svg xml description of the markers/symbols
for ground vehicles.
Fixes thouse markers/symbols being invisble.
2019-07-30 13:03:21 +02:00
Eric Tran b01f42097d Add new SkyAware banners 2019-07-29 15:24:56 +00:00
Matthias Wirth 5cc04d4ca8 SkyView: Fix aircraft trail handling
Make aircraft trail handling more consistent and the code hopefully
easier to understand.
Fix position comparison (comparing array references does not work).

When initially loading the SkyView webpage, there are sometimes gaps in
the aircraft trails when the trail transitions from estimated/dotted to
known/solid track.

Fix elastic band style to handle estimated segments properly.
2019-07-27 17:46:23 +02:00
Eric Tran de6d671ba4 Change all occurences of Skyview to SkyAware in .js files 2019-07-16 19:11:19 +00:00
Eric Tran f4537bd49a Change all occurences of Skyview to SkyAware in code 2019-07-16 15:36:16 +00:00