Fork of the Flightaware dump1090 code base with an additional branch for integration with the EOSS SDR system.
Go to file
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
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 Version changes to 5.0~dev 2021-02-07 01:26:43 +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 Italicize filter count text 2021-02-09 04:42:02 +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 Compress vrs.csv since it's basically readonly. 2016-09-10 17:43:10 +01: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 Merge pull request #108 from gtjoseph/dev-fa-starch-aarch64 2021-02-09 14:08:52 +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 Merge branch 'dev' into fix-interactive-ttl 2021-02-01 11:48:07 +08:00
mode_ac.c More WIP 2017-12-07 10:34:08 -06:00
mode_s.c Overhaul of message scoring & error correction. 2021-02-09 20:10:55 +08:00
mode_s.h Overhaul of message scoring & error correction. 2021-02-09 20:10:55 +08:00
net_io.c faup1090 changes to consume commands via stdin (#107) 2021-02-09 07:25:51 -06: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