Fork of the Flightaware dump1090 code base with an additional branch for integration with the EOSS SDR system.
Go to file
eric1tran 74b1a39aa0 Merge 1090 and UAT aircraft into one map
Squashed commit of the following:

commit ef61cba13698090b85fea3136bc77e320eab3d0d
Author: eric1tran <eric1tran@gmail.com>
Date:   Thu Feb 25 04:39:22 2021 +0000

    Remove unused receiver clock code

commit 809cf656b5a098948fbfc5ce2b5f60f753fb4043
Author: eric1tran <eric1tran@gmail.com>
Date:   Thu Feb 25 04:35:32 2021 +0000

    Avoid calling getDataSource() so many times and cleanup spacing

commit a0000b942bb5aa5f8061db0ca9d405461c6eea07
Author: eric1tran <eric1tran@gmail.com>
Date:   Thu Feb 25 04:19:11 2021 +0000

    Copy paste bug

commit ccc3cd3964bddcd86e8faf45c06e577309cffb02
Author: eric1tran <eric1tran@gmail.com>
Date:   Thu Feb 25 04:17:14 2021 +0000

    Filter UAT logic

commit 34dc860a16e1c57cdc3563ec31c45f9b1b133d4c
Author: eric1tran <eric1tran@gmail.com>
Date:   Thu Feb 25 03:24:56 2021 +0000

    Reorder message rate text

commit 25db80799a2a6dc8e33835cb2ed43c305c87a4d8
Author: eric1tran <eric1tran@gmail.com>
Date:   Thu Feb 25 00:56:43 2021 +0000

    Track 1090 and 978 message rate separately

commit a2031d13e4a447ad0f8de61eada75f0da019d1c2
Author: eric1tran <eric1tran@gmail.com>
Date:   Thu Feb 25 00:27:25 2021 +0000

    UAT classification logic

commit 5482274016eecfbc27f2b5de6779c032803ca177
Author: eric1tran <eric1tran@gmail.com>
Date:   Wed Feb 24 23:13:39 2021 +0000

    Spacing

commit 2fc4408e6437ec5e0db2329d46a68fc6538abc45
Author: eric1tran <eric1tran@gmail.com>
Date:   Wed Feb 24 22:57:05 2021 +0000

    Load UAT history.json files if UAT is enabled

commit 9ccf4eba7590b1f38c78aeb73209b48cb8e0c34f
Author: eric1tran <eric1tran@gmail.com>
Date:   Wed Feb 24 22:24:23 2021 +0000

    ajax calls to fetch UAT aircraft json if enabled

commit d8f0c1c042bdba8ae1348a513df7dcca6ebc23fc
Author: eric1tran <eric1tran@gmail.com>
Date:   Wed Feb 24 21:29:01 2021 +0000

    Read skyaware978 config files on initialization

commit 0245fa7449e92555b7631ab0365e43fb38e1c221
Author: eric1tran <eric1tran@gmail.com>
Date:   Wed Feb 24 20:15:09 2021 +0000

    Change SkyAware url to /skyaware to genericize it for dual mode

commit 9384364b2473f8c73d3f165d7f5192c1995457a5
Author: eric1tran <eric1tran@gmail.com>
Date:   Wed Feb 24 19:46:06 2021 +0000

    Add UAT toggle and description (non-functional)

commit 9b65a55c0ceb7c3da3b3515d26f0d5d42192f658
Author: eric1tran <eric1tran@gmail.com>
Date:   Wed Feb 24 19:32:54 2021 +0000

    Removed unused css
2021-02-25 05:43:10 +00: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
cpu_features Move all converters to starch-based implementations (#97) 2021-01-21 19:45:00 +08:00
debian Merge 1090 and UAT aircraft into one map 2021-02-25 05:43:10 +00:00
debian-jessie Disable non-generic starch build on stretch/jessie 2021-02-08 23:55:57 +08:00
debian-stretch Disable non-generic starch build on stretch/jessie 2021-02-08 23:55:57 +08:00
dsp Regenerate starch-generated code for starch update & aarch64 wisdom 2021-02-09 14:16:12 +08:00
oneoff Move all converters to starch-based implementations (#97) 2021-01-21 19:45:00 +08:00
public_html Merge 1090 and UAT aircraft into one map 2021-02-25 05:43:10 +00:00
starch Update starch to upstream commit f76162205fa082d4c9a75b89eb4295e03f5f68fd 2021-02-09 14:05:05 +08:00
testfiles Initial commit of Dump1090, a simple Mode S decoder. 2013-01-05 13:52:25 +01:00
tools Overhaul of message scoring & error correction. 2021-02-09 20:10:55 +08:00
wisdom Starch: Changed aarch64 flavor to use simd 2021-02-08 10:10:44 -07:00
.gitattributes Mark cpu_features and starch as vendored code 2021-02-10 14:12:26 +08:00
.gitignore Move all converters to starch-based implementations (#97) 2021-01-21 19:45:00 +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 Remove dump1090.deb reference in Jenkinsfile breaking builds 2020-09-11 22:12:24 +00:00
LICENSE GPL. 2015-01-20 16:49:01 +00:00
Makefile Add NetBSD detection to Makefile; use NetBSD's curses (simply called curses) rather than ncurses on NetBSD (#111) 2021-02-10 12:44:30 +08:00
Makefile.cpufeatures Starch: Changed aarch64 flavor to use simd 2021-02-08 10:10:44 -07:00
README-json.md Expose modea_hit / modec_hit in aircraft.json 2020-08-24 15:03:17 +08:00
README.md Update FreeBSD instructions to use pkg not ports for pkgconf 2020-08-24 14:15:09 +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 Move all converters to starch-based implementations (#97) 2021-01-21 19:45:00 +08: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
cpu.c Starch: Changed aarch64 flavor to use simd 2021-02-08 10:10:44 -07:00
cpu.h Starch: Changed aarch64 flavor to use simd 2021-02-08 10:10:44 -07:00
crc.c Overhaul of message scoring & error correction. 2021-02-09 20:10:55 +08:00
crc.h Overhaul of message scoring & error correction. 2021-02-09 20:10:55 +08:00
demod_2400.c Overhaul of message scoring & error correction. 2021-02-09 20:10:55 +08:00
demod_2400.h Whitespace changes only: cleaning up trailing whitespace at EOL 2017-06-15 18:17:07 +01:00
dsp-types.h Increase alignment requirements of uc8_t to avoid warnings when interpreting as uint16_t 2021-02-01 11:26:39 +08:00
dump1090.c Write final stats.json on exit 2021-02-04 16:36:13 +08:00
dump1090.h faup1090 changes to consume commands via stdin (#107) 2021-02-09 07:25:51 -06:00
faup1090.c faup1090 changes to consume commands via stdin (#107) 2021-02-09 07:25:51 -06:00
fifo.c Fix a stupid fifo bug that would orphan enqueued data. 2021-02-02 17:51:25 +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 Overhaul of message scoring & error correction. 2021-02-09 20:10:55 +08:00
icao_filter.h Overhaul of message scoring & error correction. 2021-02-09 20:10:55 +08:00
interactive.c Rework the interactive-mode Mode column to show more detail. 2021-02-18 14:20:44 +08:00
mode_ac.c More WIP 2017-12-07 10:34:08 -06:00
mode_s.c Set at least airground = AG_UNCERTAIN for airborne position messages with valid altitudes. 2021-02-18 13:57:27 +08:00
mode_s.h Overhaul of message scoring & error correction. 2021-02-09 20:10:55 +08:00
net_io.c Bump faup1090 version to 8E 2021-02-24 19:21:26 +00:00
net_io.h faup1090 changes to consume commands via stdin (#107) 2021-02-09 07:25:51 -06:00
prepare-build.sh Drop wheezy support. 2020-08-06 13:44:07 +08:00
sdr.c Handle builds with no SDR support better. 2020-08-11 12:55:17 +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 limesdr: use --gain (in dB) if --limesdr-gain was not specified 2020-10-01 13:53:50 +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 Collect stats on messages received by DF type 2021-02-04 16:33:26 +08:00
stats.h Collect stats on messages received by DF type 2021-02-04 16:33:26 +08:00
track.c Add missed expiry code for emergency / nac_v fields; initialize emergency_valid. 2021-01-15 18:20:50 +08:00
track.h Interactive mode updates 2020-09-29 06:23:55 -06:00
util.c normalize_timespec: handle tv_nsec == 1000000000 correctly 2020-11-17 19:59:47 +08:00
util.h fix a trivial copy-paste typo in comments 2020-08-31 22:53:14 +03:00
view1090.c fix merge indentation 2021-02-01 11:50:43 +08:00
wisdom.aarch64 Add temporary wisdom.aarch64 2021-02-09 14:15:05 +08:00
wisdom.arm Move all converters to starch-based implementations (#97) 2021-01-21 19:45:00 +08:00
wisdom.generic Move all converters to starch-based implementations (#97) 2021-01-21 19:45:00 +08:00
wisdom.x86 Move all converters to starch-based implementations (#97) 2021-01-21 19:45:00 +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 on Mojave 10.14.6, YMMV.

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

Building on FreeBSD

Minimal testing on 12.1-RELEASE, YMMV.

# pkg install gmake
# pkg install pkgconf
# pkg install rtl-sdr
# pkg install bladerf
# pkg install hackrf
$ gmake