Fork of the Flightaware dump1090 code base with an additional branch for integration with the EOSS SDR system.
Go to file
George Joseph 68e95c06cc Interactive mode updates
These updates were designed to assist those using interactive
mode to tune antennas and SDR gain.

* Add options to display distance and bearing in interactive mode

  Distance and bearing instead of latitude and longitude can now be
  displayed in interactive mode using the following options to
  dump1090-fa and view1090-fa.

  --interactive-show-distance   Show aircraft distance and bearing
                                instead of aircraft lat/lon
                                (requires --lat and --lon)
  --interactive-distance-units  Distance units ('km', 'sm', 'nm')
                                (default: 'nm')"

  You have to specify a reference --lat and --lon for this to
  work of course.

* A new line now shows at the top of the interactive display that
  has for the current sample:

  Total valid aircraft count
  Vidible aircraft count
     Will be less than total if the screen hasn't enough lines to show
     them all.
  Max RSSI
  Min RSSI
  Mean RSSI
  Max Distance

 Tot:  47 Vis:  47 RSSI: Max 25.4+ Mean -29.5 Min -36.9-  MaxD:  197.3nm+

* Add max distance and min/max RSSI indicators

  A '+' after the distance in a row indicates it's the row with the
  maximum distance.

  A '+' after the RSSI in a row indicates it's the row with the highest
  RSSI.

  A '-' after the RSSI in a row indicates it's the row with the lowest
  RSSI.

  The summary line at the top of the screen always shows the values for
  ALL aircraft, even those not visible.  The row indicators only mark
  visible rows though.

  In this example, the first aircraft is both the farthest away and has
  the weakest RSSI.  The second aircraft has the strongest RSSI.

 Tot:  47 Vis:  47 RSSI: Max 25.4+ Mean -29.5 Min -36.9-  MaxD:  197.3nm+     -
 Hex    Mode  Sqwk  Flight   Alt    Spd  Hdg  Dist(nm) Bearing  RSSI  Msgs  Ti
────────────────────────────────────────────────────────────────────────────────
 A8D5A4 S2                   34000  438  252   197.3+      85  -36.1-   26  2
 A39A13 S2ac  5740  FFT525   30750  439  256    98.8       68  -25.4+  123  0
 A70B23 S2ac  2744  LXJ553   43000  419  258   136.1       39  -33.6   174  0

* Finally, a new option '--interactive-callsign-filter' has been added
  to allow filtering interactive by callsign.  The value can be a
  simple string, in which case aircraft with that string anywhere in its
  callsign will be displayed, or a regular expression should you want a
  more precise match.

  Examples:
    --interactive-callsign-filter UAL
      will match all aircraft with UAL anywhere in its callsign.
    --interactive-callsign-filter "^UAL"
      will match only those callsigns that start with UAL.
    --interactive-callsign-filter "^(UAL|AAL)"
      will match only those callsigns that start with UAL or AAL.
    --interactive-callsign-filter "^N[0-9]" or "^N[[:digit:]]"
      will match only those callsigns that start with "N" and a number

  If you need more info on regular expressions, see this link:
  https://en.wikipedia.org/wiki/Regular_expression
2020-09-29 06:23:55 -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
debian Bump version to 4.0~dev 2020-09-21 15:31:46 +00: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 Update aircraft db to 20200924 2020-09-24 06:01:36 +00:00
testfiles Initial commit of Dump1090, a simple Mode S decoder. 2013-01-05 13:52:25 +01:00
tools Update README with current compressed csv file 2020-09-24 06:10:58 +00: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 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 Reinstate the freebsd pkg-config workaround in another form 2020-08-07 14:43:44 +08: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 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 Interactive mode updates 2020-09-29 06:23:55 -06:00
dump1090.h Interactive mode updates 2020-09-29 06:23:55 -06:00
faup1090.c Clean up linkage of struct Modes to actually make sense. 2020-06-06 21:52:04 +08:00
fifo.c Fix on-exit memory leaks noticed by @Mictronics 2020-08-10 15:00: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 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 Interactive mode updates 2020-09-29 06:23:55 -06: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 Forward MLAT traffic to Stratux JSON output, marked with IsMlat:true value in JSON 2020-09-10 10:20:21 +02: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 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 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 Interactive mode updates 2020-09-29 06:23:55 -06:00
track.h Interactive mode updates 2020-09-29 06:23:55 -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 fix a trivial copy-paste typo in comments 2020-08-31 22:53:14 +03:00
view1090.c Interactive mode updates 2020-09-29 06:23:55 -06: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