Fork of the Flightaware dump1090 code base with an additional branch for integration with the EOSS SDR system.
Go to file
Oliver Jowett 286a6301f8 Try to clean up the compat stuff a bit 2020-08-07 15:08:45 +08:00
bladerf bladeRF docs and custom bitstream. 2017-02-03 00:36:41 +00:00
compat Try to clean up the compat stuff a bit 2020-08-07 15:08:45 +08:00
debian Add support for custom builds that don't include all SDRs, to 2020-08-06 14:06:20 +08:00
debian-jessie Disable limesdr/hackrf support on jessie, stretch, wheezy 2020-08-05 20:28:50 +08:00
debian-stretch Disable limesdr/hackrf support on jessie, stretch, wheezy 2020-08-05 20:28:50 +08:00
oneoff Make convert_benchmark build with -Wmissing-declarations 2020-08-05 19:50:38 +08:00
public_html Fix misspelled variable name bug 2020-08-04 14:38:07 -05:00
testfiles Initial commit of Dump1090, a simple Mode S decoder. 2013-01-05 13:52:25 +01:00
tools Update aircraft db to 20191216 2019-12-16 10:22:46 -06:00
.gitattributes Compress vrs.csv since it's basically readonly. 2016-09-10 17:43:10 +01:00
.gitignore Update .gitignore for new binaries 2019-05-02 17:31:08 +08:00
.travis.yml More build deps 2019-03-04 15:43:45 +00:00
COPYING GPL. 2015-01-20 16:49:01 +00:00
Jenkinsfile Add buster to the Jenkins build 2019-11-07 10:41:40 +08:00
LICENSE GPL. 2015-01-20 16:49:01 +00:00
Makefile Reinstate the freebsd pkg-config workaround in another form 2020-08-07 14:43:44 +08:00
README-json.md standart -> standard 2019-05-06 10:23:28 +08:00
README.md bladerf seems to compile OK on osx, add it to the readme 2020-08-07 14:34:25 +08:00
ais_charset.c Put ais_charset in its own file to make building commb tests a little easier 2019-05-02 17:24:26 +08:00
ais_charset.h Put ais_charset in its own file to make building commb tests a little easier 2019-05-02 17:24:26 +08:00
anet.c IPv6 support (in theory). 2016-02-16 13:00:55 +00:00
anet.h IPv6 support (in theory). 2016-02-16 13:00:55 +00:00
comm_b.c Remove comm-b "consistency" bonuses, look at inconsistent data only. 2019-05-02 18:19:27 +08:00
comm_b.h WIP: More Comm-B & ADS-B decoding. 2017-06-15 18:07:40 +01:00
convert.c Whitespace changes only: cleaning up trailing whitespace at EOL 2017-06-15 18:17:07 +01:00
convert.h Whitespace changes only: cleaning up trailing whitespace at EOL 2017-06-15 18:17:07 +01:00
cpr.c fix -Wmissing-declaration warnings 2020-06-29 16:42:21 -07:00
cpr.h Whitespace changes only: cleaning up trailing whitespace at EOL 2017-06-15 18:17:07 +01:00
cprtests.c Whitespace changes only: cleaning up trailing whitespace at EOL 2017-06-15 18:17:07 +01:00
crc.c Whitespace changes only: cleaning up trailing whitespace at EOL 2017-06-15 18:17:07 +01:00
crc.h Whitespace changes only: cleaning up trailing whitespace at EOL 2017-06-15 18:17:07 +01:00
demod_2400.c Factor out FIFO handling; reimplement as a linked list, not a circular buffer. 2020-08-05 19:50:38 +08:00
demod_2400.h Whitespace changes only: cleaning up trailing whitespace at EOL 2017-06-15 18:17:07 +01:00
dump1090.c Strip out the long-dead --debug option code. 2020-08-05 20:14:57 +08:00
dump1090.h Strip out the long-dead --debug option code. 2020-08-05 20:14:57 +08:00
faup1090.c Clean up linkage of struct Modes to actually make sense. 2020-06-06 21:52:04 +08:00
fifo.c Factor out FIFO handling; reimplement as a linked list, not a circular buffer. 2020-08-05 19:50:38 +08:00
fifo.h Factor out FIFO handling; reimplement as a linked list, not a circular buffer. 2020-08-05 19:50:38 +08:00
icao_filter.c Whitespace changes only: cleaning up trailing whitespace at EOL 2017-06-15 18:17:07 +01:00
icao_filter.h Whitespace changes only: cleaning up trailing whitespace at EOL 2017-06-15 18:17:07 +01:00
interactive.c Put a warning header up in view1090 interactive mode when there's no connection 2019-12-02 19:51:06 +08:00
mode_ac.c More WIP 2017-12-07 10:34:08 -06:00
mode_s.c Treat ADS-R as a separate source type (higher priority than TIS-B, lower priority than direct ADS-B) 2019-12-11 12:43:19 -06:00
mode_s.h Put ais_charset in its own file to make building commb tests a little easier 2019-05-02 17:24:26 +08:00
net_io.c fix -Wmissing-declaration warnings 2020-06-29 16:42:21 -07:00
net_io.h faup1090: write _v on every line, bump TSV_VERSION 2019-03-19 18:10:38 +00:00
prepare-build.sh Drop wheezy support. 2020-08-06 13:44:07 +08:00
sdr.c If --device-type is given without a type, list the available types. 2020-08-05 20:12:06 +08:00
sdr.h Factor out sdr thread CPU monitoring 2020-08-05 19:50:38 +08:00
sdr_bladerf.c Clean up the bladerf driver a bit 2020-08-05 19:50:38 +08:00
sdr_bladerf.h Whitespace changes only: cleaning up trailing whitespace at EOL 2017-06-15 18:17:07 +01:00
sdr_hackrf.c Fix hackrf compilation when uint64_t is not a long 2020-08-05 19:50:38 +08:00
sdr_hackrf.h Added support for HackRF One 2019-12-09 18:55:40 -03:00
sdr_ifile.c Factor out FIFO handling; reimplement as a linked list, not a circular buffer. 2020-08-05 19:50:38 +08:00
sdr_ifile.h Whitespace changes only: cleaning up trailing whitespace at EOL 2017-06-15 18:17:07 +01:00
sdr_limesdr.c Support older limesuite versions e.g. what's available on Raspbian Buster. 2020-08-05 19:50:38 +08:00
sdr_limesdr.h limesdr: basic implementation of LimeSDR support 2020-07-29 23:09:27 +03:00
sdr_rtlsdr.c Use a bounce buffer for rtlsdr on ARM to work around zero-copy problems. 2020-08-05 19:50:38 +08:00
sdr_rtlsdr.h Whitespace changes only: cleaning up trailing whitespace at EOL 2017-06-15 18:17:07 +01:00
stats.c Add stats for unreliable tracks 2019-11-27 21:41:33 +08:00
stats.h Add stats for unreliable tracks 2019-11-27 21:41:33 +08:00
track.c fix -Wmissing-declaration warnings 2020-06-29 16:42:21 -07:00
track.h Track ADS-B version separately for direct ADS-B, TIS-B, ADS-R 2019-12-12 09:21:26 -06:00
util.c Factor out FIFO handling; reimplement as a linked list, not a circular buffer. 2020-08-05 19:50:38 +08:00
util.h Factor out FIFO handling; reimplement as a linked list, not a circular buffer. 2020-08-05 19:50:38 +08:00
view1090.c Factor out FIFO handling; reimplement as a linked list, not a circular buffer. 2020-08-05 19:50:38 +08:00

README.md

dump1090-fa Debian/Raspbian packages

dump1090-fa is a ADS-B, Mode S, and Mode 3A/3C demodulator and decoder that will receive and decode aircraft transponder messages received via a directly connected software defined radio, or from data provided over a network connection.

It is the successor to dump1090-mutability and is maintained by FlightAware.

It can provide a display of locally received aircraft data in a terminal or via a browser map. Together with PiAware it can be used to contribute crowd-sourced flight tracking data to FlightAware.

It is designed to build as a Debian package, but should also be buildable on many other Linux or Unix-like systems.

Building under buster

$ sudo apt-get install build-essential debhelper librtlsdr-dev pkg-config dh-systemd libncurses5-dev libbladerf-dev libhackrf-dev liblimesuite-dev
$ dpkg-buildpackage -b --no-sign

Building under stretch

$ sudo apt-get install build-essential debhelper librtlsdr-dev pkg-config dh-systemd libncurses5-dev libbladerf-dev
$ dpkg-buildpackage -b --no-sign

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 with limited dependencies

The package supports some build profiles to allow building without all required SDR libraries being present. This will produce a package with limited SDR support only.

Pass --build-profiles to dpkg-buildpackage with a comma-separated list of profiles. The list of profiles should include custom and zero or more of rtlsdr, bladerf, hackrf, limesdr depending on what you want:

$ dpkg-buildpackage -b --no-sign --build-profiles=custom,rtlsdr          # builds with rtlsdr support only
$ dpkg-buildpackage -b --no-sign --build-profiles=custom,rtlsdr,bladerf  # builds with rtlsdr and bladeRF support
$ dpkg-buildpackage -b --no-sign --build-profiles=custom                 # builds with _no_ SDR support (network support only)

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.

make HACKRF=no will disable HackRF support and remove the dependency on libhackrf.

make LIMESDR=no will disable LimeSDR support and remove the dependency on libLimeSuite.

Building on OSX

Minimal testing, YMMV.

$ brew install librtlsdr
$ brew install libbladerf
$ brew install pkg-config
$ make