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. |
||
|---|---|---|
| bladerf | ||
| compat | ||
| debian | ||
| debian-wheezy | ||
| oneoff | ||
| public_html | ||
| testfiles | ||
| tools | ||
| .gitattributes | ||
| .gitignore | ||
| .travis.yml | ||
| COPYING | ||
| Jenkinsfile | ||
| LICENSE | ||
| Makefile | ||
| README-json.md | ||
| README.md | ||
| ais_charset.c | ||
| ais_charset.h | ||
| anet.c | ||
| anet.h | ||
| comm_b.c | ||
| comm_b.h | ||
| convert.c | ||
| convert.h | ||
| cpr.c | ||
| cpr.h | ||
| cprtests.c | ||
| crc.c | ||
| crc.h | ||
| demod_2400.c | ||
| demod_2400.h | ||
| dump1090.c | ||
| dump1090.h | ||
| faup1090.c | ||
| icao_filter.c | ||
| icao_filter.h | ||
| interactive.c | ||
| mode_ac.c | ||
| mode_s.c | ||
| mode_s.h | ||
| net_io.c | ||
| net_io.h | ||
| prepare-build.sh | ||
| sdr.c | ||
| sdr.h | ||
| sdr_bladerf.c | ||
| sdr_bladerf.h | ||
| sdr_ifile.c | ||
| sdr_ifile.h | ||
| sdr_rtlsdr.c | ||
| sdr_rtlsdr.h | ||
| stats.c | ||
| stats.h | ||
| track.c | ||
| track.h | ||
| util.c | ||
| util.h | ||
| view1090.c | ||
README.md
dump1090-fa Debian/Raspbian packages
This is a fork of dump1090-mutability customized for use within FlightAware's PiAware software.
It is designed to build as a Debian package.
Building under stretch
$ sudo apt-get install build-essential debhelper librtlsdr-dev pkg-config dh-systemd libncurses5-dev libbladerf-dev
$ dpkg-buildpackage -b
Building under jessie
Dependencies - bladeRF
You will need a build of libbladeRF. You can build packages from source:
$ git clone https://github.com/Nuand/bladeRF.git
$ cd bladeRF
$ git checkout 2017.12-rc1
$ dpkg-buildpackage -b
Or Nuand has some build/install instructions including an Ubuntu PPA at https://github.com/Nuand/bladeRF/wiki/Getting-Started:-Linux
Or FlightAware provides armhf packages as part of the piaware repository; see https://flightaware.com/adsb/piaware/install
Dependencies - rtlsdr
This is packaged with jessie. sudo apt-get install librtlsdr-dev
Actually building it
Nothing special, just build it (dpkg-buildpackage -b)
Building under wheezy
First run prepare-wheezy-tree.sh. This will create a package tree in
package-wheezy/. Build in there (dpkg-buildpackage -b)
The wheezy build does not include bladeRF support.
Building manually
You can probably just run "make" after installing the required dependencies. Binaries are built in the source directory; you will need to arrange to install them (and a method for starting them) yourself.
make BLADERF=no will disable bladeRF support and remove the dependency on
libbladeRF.
make RTLSDR=no will disable rtl-sdr support and remove the dependency on
librtlsdr.