Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Timestamp in interactive.c output #85

Open
wants to merge 680 commits into
base: master
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
680 commits
Select commit Hold shift + click to select a range
1c80d1b
OS X compatibility cleanups.
mutability Sep 7, 2015
b51cafb
Merge branch 'dstipp-master'
mutability Sep 7, 2015
909f1ad
Allow D2 in altitude values (>62k ft)
mutability Sep 10, 2015
392054a
Add --html-dir option
maxried Sep 14, 2015
37677f1
--html-dir
maxried Sep 14, 2015
267e5d6
Update net_io.c
maxried Sep 14, 2015
90adaf2
Update net_io.c
maxried Sep 14, 2015
541f12f
Update dump1090.h
maxried Sep 14, 2015
217e6f9
Update dump1090.h
maxried Sep 14, 2015
f66420b
Update dump1090.c
maxried Sep 14, 2015
f8c6513
Update dump1090.c
maxried Sep 14, 2015
3d44559
Update dump1090.c
maxried Sep 14, 2015
3b4c872
Merge pull request #71 from maxried/master
mutability Sep 14, 2015
c55c71b
Fix off-by-one error that would ignore maxRange if it was exactly 360NM.
mutability Sep 30, 2015
a6cb388
Add nginx config file
Oct 25, 2015
72e5115
Add nginx configs to packaging.
dschaper Oct 25, 2015
416c859
Tweak the display of mlat aircraft icons (not convinced these are the…
mutability Oct 26, 2015
482d3a1
Turn on scale (and zoom for good measure, though it's on by default)
mutability Oct 26, 2015
f8a3c46
Add generic map type config for maps that can be handled by simple UR…
mutability Oct 26, 2015
ecc4551
Merge pull request #78 from dschaper/nginx
mutability Oct 26, 2015
91fce10
Remember map type selection in local storage.
mutability Oct 26, 2015
f84e9a8
Fix the missing comma in the monochrome display example.
mutability Oct 26, 2015
497f88f
Don't match faup1090 tags when generating a version string from git t…
mutability Oct 27, 2015
457761f
Don't spam stats reports if the system clock jumps.
mutability Dec 19, 2015
779c66e
Reindenting.
mutability Dec 21, 2015
75ddd87
Basic support for terrain-limit rings based on data from heywhatsthat…
mutability Dec 21, 2015
c4a2a5c
Fix the upintheair URL.
mutability Dec 23, 2015
efd6b94
Track HAE altitude separately to baro altitude where possible.
mutability Jan 1, 2016
c99e4d9
Factor out metric conversions, always report FL as feet-based in rtl1…
mutability Jan 1, 2016
9479a5c
If --hae is passed, report altitudes as HAE where available, with a H…
mutability Jan 1, 2016
5c3692a
Require an explicit #define at build time to enable --aggressive.
mutability Jan 21, 2016
ecbdbf2
Never forward mlat via SBS or raw output; it is no longer identifiable
mutability Jan 21, 2016
5632a2c
Try to get travis working again.
mutability Jan 21, 2016
1170ed9
Set faup1090 default max range to 360NM.
mutability Jan 21, 2016
d9eec66
Track what data we got via TIS-B, report it as such.
mutability Jan 21, 2016
c4e1622
Oops, sprintf -> snprintf
mutability Jan 21, 2016
cc04f31
Make the HAE/Baro offset field a bit clearer.
mutability Jan 22, 2016
1a2926b
Display ES data for DF=18, CF=2 when showing messages verbosely.
mutability Jan 22, 2016
2b46653
Support multiple listening ports per listener type.
mutability Jan 24, 2016
2a07897
Be more selective about what is flagged as TIS-B.
mutability Jan 24, 2016
cd86032
Fix return value sense of is_port_list
mutability Jan 24, 2016
4711eaf
Remove reference to net-fatsv-port in postinst.
mutability Jan 25, 2016
f9aa039
Avoid creating a config file with all blank values if postinst config…
mutability Jan 25, 2016
c510adb
$a is a literal sed command, avoid shell var expansion.
mutability Jan 25, 2016
356cda2
Flush stdout after writing message details so it works reasonably if …
mutability Feb 5, 2016
e101351
Enforce max-range on mlat results (but still skip the speed check)
mutability Feb 5, 2016
8f58d06
Revert the accidental change of default values for raw in/out ports.
mutability Feb 8, 2016
577fe9b
Remove --aggressive from config options as the standard build will ig…
mutability Feb 16, 2016
108b402
Directly include the VRS-derived json db since the underlying DB
mutability Feb 16, 2016
a2eb71d
IPv6 support (in theory).
mutability Feb 16, 2016
eb16ac2
Fix some termination issues.
mutability Feb 16, 2016
ce38ddf
Remove references to --aggressive from the maint scripts
rgeissert Feb 16, 2016
1c1b496
Remove duplicate crc.h copyright entry
rgeissert Feb 16, 2016
b3769c2
Merge pull request #101 from rgeissert/aggressive-removal-fixup
mutability Feb 16, 2016
2dfd132
Add copyright information about coolclock.js
rgeissert Feb 16, 2016
5b746d1
Add copyright information about the flags-tiny pngs
rgeissert Feb 16, 2016
2ea2181
Add copyright information about clock_gettime
rgeissert Feb 16, 2016
7e317ea
Add copyright information about clock_nanosleep
rgeissert Feb 16, 2016
008c1ee
Add copyright information about markers.js
rgeissert Feb 16, 2016
ad3e4fa
Merge pull request #102 from rgeissert/debian-copyright
mutability Feb 16, 2016
99696cf
minor html syntax fixes for map view
bjd Feb 18, 2016
1d723b0
Remove sensor parameter from google maps api url, it is no longer req…
bjd Feb 18, 2016
3a98bf0
Remove invalid css property 'align' from timestamps div
bjd Feb 18, 2016
a283ab2
Fix check for valid distance in drawCircle()
bjd Feb 18, 2016
f7c9aed
Merge pull request #103 from bjd/web-fixes
mutability Feb 18, 2016
214bc0e
Treat zero-or-missing signal levels as "no information" and don't inc…
mutability Feb 24, 2016
c218bb9
Link to the new FA ModeS redirect URL
mutability Feb 27, 2016
85aa200
Extra paranoia for --aggressive mode: only forward 2-bit-corrected me…
mutability Mar 3, 2016
7a58e3c
Move Mode C altitude calc into mode A/C message decoding.
mutability Mar 20, 2016
0dc8336
Populate verbatim message for mode a/c.
mutability Mar 20, 2016
f6bdb61
Experimental 2.4MHz Mode A/C demodulator.
mutability Mar 20, 2016
5781e6a
Be a bit more aggressive about rejecting noise in the space periods.
mutability Mar 20, 2016
03c29a3
Handle errors from rtlsdr_get_device_usb_strings.
mutability Mar 21, 2016
f53bca9
Add PlaneFinder link
Mar 29, 2016
dfc253b
Merge pull request #110 from BowlesCR/planefinder
mutability Mar 30, 2016
d00b07f
Indentation/Readability cleanup
Mar 22, 2016
e509e76
Avoid mixed-content warnings when served over HTTPS (in a protocol-re…
Mar 22, 2016
ebce0fd
Pedantic tweaks for HTML5 validation
Mar 22, 2016
9470676
fix compilation on OpenBSD
wizardishungry Mar 31, 2016
e0c15ea
changed MISSING_{NANOSLEEP,GETTIME} to use -D to fix compilation on OS X
wizardishungry Mar 31, 2016
953a5e0
OpenBSD uses _CLOCKID_T_DEFINED_ instead of CLOCKID_T
wizardishungry Mar 31, 2016
8332251
fixed a tiny change to an #ifndef comment
wizardishungry Mar 31, 2016
e01b7b6
Added libusb-1.0 to the list of libs handled by pkg-config
wizardishungry Mar 31, 2016
e8919ea
Merge pull request #112 from WIZARDISHUNGRY/mutability-homebrew
mutability Mar 31, 2016
5417fa6
Merge pull request #111 from WIZARDISHUNGRY/mutability-openbsd
mutability Mar 31, 2016
d663094
Merge branch 'htmlcleanup' of https://github.com/BowlesCR/dump1090 in…
mutability Mar 31, 2016
e1278c3
Revert script.js indent changes from d00b07f361a62337d0cbdf6ea9831c13…
mutability Mar 31, 2016
859ba3b
Fix some format strings that pass an unsigned int but use %d
rgeissert Apr 5, 2016
1269d73
Fix another string format where %d is used but an unsigned int is passed
rgeissert Apr 5, 2016
162bf9d
Merge pull request #116 from rgeissert/cppcheck-warnings
mutability Apr 6, 2016
bd1c82a
Update faup1090.c
ertyu Apr 7, 2016
62119c3
Point mutability-repo package at the current version
mutability Apr 12, 2016
c701b46
Added a new marker for heavy aircraft
May 16, 2016
93c135e
Remove a dead #define
mutability May 31, 2016
d419b62
Always use phase enhancement; silently ignore --phase-enhance if given.
mutability May 31, 2016
acd3870
Fix a couple of places that refer to "noise floor".
mutability May 31, 2016
b8dc397
Always measure noise power, silently ignore --measure-noise if given.
mutability May 31, 2016
8f82e61
Remove the 2MHz demodulator.
mutability May 31, 2016
56e8058
Remove --phase-enhance from the initscript.
mutability May 31, 2016
8b341f3
Add some paranoia so we notice if the receive thread wedges.
mutability May 31, 2016
ee4dc69
Merge pull request #120 from danielmerritt/new-markers
mutability Jun 5, 2016
7c9320a
Update source comment for the new heavy marker
mutability Jun 5, 2016
42bf39e
Merge pull request #117 from ertyu/ertyu-patch-1
mutability Jun 5, 2016
bf04264
Increase the size of the heavy icon a little.
mutability Jun 5, 2016
75b6945
Remove unused functions in demod_2400
rxseger Jun 7, 2016
999e555
Merge pull request #125 from rxseger/unused
mutability Jun 7, 2016
5d71b0d
Test on latest Xcode for OS X 10.9, 10.10, and 10.11
rxseger Jun 8, 2016
dfe3d7a
Merge pull request #126 from rxseger/osx
mutability Jun 8, 2016
22c9041
Check we got a full read when serving local files over HTTP.
mutability Jul 2, 2016
da437b3
Set the socket buffer to the size of a HTTP response.
mutability Jul 2, 2016
b1acfcf
Switch to latest stable jquery/jqueryui. Include a local copy.
mutability Jul 2, 2016
5acecba
Starting to hack on OL3 support.
mutability Jul 2, 2016
8639ab3
More work on OL3.
mutability Jul 2, 2016
98564ab
Add a scale.
mutability Jul 2, 2016
18bd8b6
Draw plane icons.
mutability Jul 2, 2016
90f5a7d
Round the computed colors a bit to reduce flickering.
mutability Jul 2, 2016
fc95719
Reinstate selecting aircraft by clicking on their icons.
mutability Jul 2, 2016
b7fc52b
Tweak the svg stroke width based on scale.
mutability Jul 2, 2016
5cf512c
Clean out some debug, dead code.
mutability Jul 2, 2016
54dc91a
Make table selection a little more robust.
mutability Jul 2, 2016
986c910
Turns out we don't need an interaction to catch feature clicks.
mutability Jul 2, 2016
49cb77a
Do stuff while animating/interacting.
mutability Jul 2, 2016
2e68341
Layer switching support, ChartBundle, Bing maps.
mutability Jul 2, 2016
a357b96
Keyless MapQuest access goes away shortly so remove that layer.
mutability Jul 2, 2016
6e8b7cf
Expand the attributions control by default.
mutability Jul 2, 2016
4862010
Don't gratuitously reverse the layer order in the switcher.
mutability Jul 3, 2016
6676bc8
Allow forEachRecursive to work on a collection/array.
mutability Jul 3, 2016
381ce5f
Lots of layer cleanups.
mutability Jul 3, 2016
2bbc117
Base64-encode the SVG markers, seems to make Firefox happier.
mutability Jul 3, 2016
abab5f5
Fix initial baselayer selection if no type was stored.
mutability Jul 3, 2016
ae6a7ac
Move aircraft icons above aircraft trails.
mutability Jul 3, 2016
b93ada6
Explain where to get map keys.
mutability Jul 5, 2016
6e13727
Switch to OL 3.17.1; include a copy locally.
mutability Jul 5, 2016
b05510c
Merge branch 'ol3'
mutability Jul 5, 2016
68ef9ce
Add a note about the map API change.
mutability Jul 5, 2016
9a10ef4
Remove a stray "fi" in the initscript. Should fix #127.
mutability Jul 10, 2016
e4ceea3
Disable the internal webserver at build time.
mutability Jul 10, 2016
ebfa6f6
Strip out the config options for the internal webserver.
mutability Jul 10, 2016
9012b46
Make the lighttpd enable/disable a bit more automatic.
mutability Jul 10, 2016
ad3d0e4
Upgrade the lighttpd dependency to Recommends
mutability Jul 10, 2016
b2aaa23
Remove the last vestiges of the update-aircraft-db cronjob.
mutability Jul 10, 2016
474b564
Try to configure whatever faup1090 connects to for the settings we want.
mutability Jul 13, 2016
1e5a6fd
Don't touch the GPS setting (I had it backwards anyway).
mutability Jul 13, 2016
a06b13d
Relax the A/C quiet threshold; this seems to pick up a lot more A/C m…
mutability Jul 24, 2016
d3565b4
Generate geodesic circles for range rings.
mutability Jul 24, 2016
4305c99
Add Bing roadmap layer (if you have a key)
mutability Jul 24, 2016
426e77a
Don't choke when selecting positionless planes in the table.
mutability Jul 24, 2016
ca3c497
Add a note about quoting keys in config.js
mutability Jul 24, 2016
50fd2ac
Store the state of each overlay layer in localStorage.
mutability Aug 4, 2016
8766a58
Add a NEXRAD layer suggested in #135
mutability Aug 4, 2016
bc8ba5b
Refresh the nexrad tiles every 5 mins.
mutability Aug 5, 2016
8d998b2
Rename --hae to --gnss since it's not always HAE.
mutability Aug 26, 2016
568e843
Add --max-range to view1090, use the same defaults as dump1090.
mutability Aug 26, 2016
43906f9
Limit aircraft-relative CPR to 50km.
mutability Aug 26, 2016
308b928
If maxrange is 0, we cannot do receiver-relative CPR at all.
mutability Aug 26, 2016
a910454
Comm-D ELM is actually DF 24..31, not just 24.
mutability Aug 26, 2016
08c1448
Use the haversine formula for small greatcircle distances, rather
mutability Aug 26, 2016
8b8f8d7
Use INVALID_ALTITUDE in a few more places.
mutability Aug 26, 2016
36a5c16
Initialize from static "zero" messages rather than using memset.
mutability Aug 26, 2016
f152bf6
Build in C11 mode on Linux.
mutability Aug 27, 2016
54ca2c7
WIP big rewrite of message decoding / aircraft tracking.
mutability Aug 27, 2016
ca57fb2
Add more aircraft icons courtesy Peter Lowden.
mutability Aug 27, 2016
158a829
Rearrange json DB stuff so it can work with CSV input.
mutability Aug 27, 2016
4c79319
Fix the scaling comment.
mutability Aug 27, 2016
4d47ada
Add some more type->marker mappings.
mutability Aug 27, 2016
244ea98
Add A380 and B737-800 markers.
mutability Aug 27, 2016
9540348
Make faup1090 emit some interesting messages when they occur.
mutability Aug 28, 2016
0888764
Rename the ACAS stuff a bit, emit ES target state.
mutability Aug 28, 2016
fa91b24
Use _DEFAULT_SOURCE to get ANSI-plus-defaults rather than
mutability Aug 28, 2016
3e08de9
WIP on decoding operational status & target state messages.
mutability Aug 29, 2016
08fba4e
Add support for markers that don't rotate but have a heading arrow.
mutability Aug 29, 2016
303d3c3
Make faup1090 emit iSource to say where the ident came from.
mutability Sep 1, 2016
a1fdc07
Restructure decoding to use a helper function to extract bit ranges
mutability Sep 1, 2016
f9419f1
Break up decodeExtendedSquiiter, it was getting pretty large.
mutability Sep 1, 2016
2636353
Fix aircraft-relative position validity check.
mutability Sep 2, 2016
1958b23
Tweak the on-the-ground conditions a little.
mutability Sep 2, 2016
e5912c3
Add some mechanical hexid->registration conversions.
mutability Sep 9, 2016
d1a33f4
Add a script that filters redundant registrations from the json db
mutability Sep 10, 2016
aa91643
Prune the static DB with filter-regs.js
mutability Sep 10, 2016
2f12447
Russian regs should be RA-nnnnn not RAnnnnn
mutability Sep 10, 2016
f45430e
Warn about CSV mismatches in filter-regs.js
mutability Sep 10, 2016
2a3e4a0
Support reading multiple CSVs in csv-to-json.py
mutability Sep 10, 2016
9b0d40f
CUTnnnn should be CU-Tnnnn
mutability Sep 10, 2016
65a0f7f
Compress vrs.csv since it's basically readonly.
mutability Sep 10, 2016
d75cc94
Fix handling of nodejs module stuff when loaded in the browser.
mutability Sep 10, 2016
8e8b858
Merge branch 'master' into tracking-rewrite
mutability Sep 10, 2016
b827806
Simplify ident decoding, add some sanity checks to the BDS2,0 case.
mutability Sep 14, 2016
9e179d4
Don't accept all-zeros messages (e.g. off the network - the demodulator
mutability Sep 14, 2016
1064130
Add a couple more ME types.
mutability Sep 14, 2016
2a4aa29
Record the address type details when decoding.
mutability Sep 14, 2016
8d8443f
Track the "best" addrtype we ever saw for an aircraft.
mutability Sep 14, 2016
0ae2c5e
Emit addrtype in json output.
mutability Sep 14, 2016
8441cf7
Emit non-icao addresses, address types from faup1090
mutability Sep 14, 2016
4dacb29
Fix tabs in faup1090 output.
mutability Sep 14, 2016
50a606d
Make it clearer that ADDR_ADSB_ICAO includes Mode S too.
mutability Sep 14, 2016
46f0c15
Test page for markers.
mutability Sep 15, 2016
9653d36
faup1090: emit events from DF18 as well as DF17
mutability Sep 15, 2016
001f495
faup1090: report non-A-class categories.
mutability Sep 15, 2016
92136f3
faup1090: only report airGround if we got a message confirming it sin…
mutability Sep 15, 2016
fb454c0
faup1090: accept squawks, idents as "useful" things.
mutability Sep 15, 2016
7e00309
faup1090: apply the same update rules to squawks/idents as to other d…
mutability Sep 15, 2016
7c1fed9
faup1090: entirely blank (all spaces) idents are not interesting
mutability Sep 15, 2016
729d91c
Fix up address type categorization to match the spec.
mutability Sep 15, 2016
0c71b3d
Fix up unsigned subtractions & use of abs.
mutability Sep 26, 2016
197fb26
Tool to replay beast captures with the right inter-message timing.
mutability Oct 1, 2016
5d681f4
faup1090: Don't bother with the tisb field now that we have addrtype.
mutability Sep 16, 2016
f607521
faup1090: Reinstate TIS-B reporting as just the address type is
mutability Sep 22, 2016
7cd66c3
Increase the TSV packet size to accomodate all the extra data recentl…
mutability Sep 22, 2016
dda5411
faup1090: Track Comm-B ACAS RA separately to ES ACAS RA as it's usefu…
mutability Sep 24, 2016
617a71e
Fix a stray extra comma in port 30003 output if only GNSS altitude wa…
mutability Oct 1, 2016
52fe01c
Track CPR encoding type directly rather than inferring it from airgro…
mutability Oct 1, 2016
344415b
Add a port-30003 regression diff script.
mutability Oct 2, 2016
2b47fe5
Fix knots -> km/h conversion in interactive mode.
mutability Oct 14, 2016
54c97ba
Adjust precision of feet -> meters conversion
toofishes Oct 22, 2016
23765c9
Add latest Xcode version in Travis config
toofishes Oct 22, 2016
b749d94
Fix build on OS X 10.12 Sierra
toofishes Oct 22, 2016
45575cf
Merge pull request #155 from toofishes/meters-precision
mutability Oct 22, 2016
9da809c
Merge pull request #156 from toofishes/updates-for-osx
mutability Oct 22, 2016
d6fffea
removed execute bit
Oct 29, 2016
b957166
Merge pull request #161 from marvin-sinister/master
mutability Oct 29, 2016
e3334ed
Fix MessageRate exception when null in javascript
Thom-x Nov 26, 2016
fb63bdc
Merge pull request #166 from Thom-x/master
mutability Nov 26, 2016
ccd8fd5
Fix a couple of flag image typos.
mutability Dec 28, 2016
9d346f9
Added Australian hexid->registration conversion
ausmez Feb 3, 2017
aa134a2
optional bias-t support
labomb Feb 4, 2017
eeb7d1d
note about bias-t support
labomb Feb 4, 2017
e0e335f
Australian registrations can be calculated using the existing stride_…
ausmez Feb 5, 2017
75c1400
Fixed typo in hex code
ausmez Feb 5, 2017
34fb495
Merge pull request #183 from labomb/bias-t-support
mutability Feb 8, 2017
a1a84fb
usage text and defaults not in sync
labomb Feb 8, 2017
803dfe8
--stats isn't exclusive to --ifile input
labomb Feb 8, 2017
502cd22
Merge pull request #184 from labomb/showHelp-defaults-inconsistencies
mutability Feb 9, 2017
174a064
Update Debian init script to require $network and $local_fs - Issue #172
Romeo-Golf Feb 9, 2017
9ecaacd
Merge pull request #180 from ausmez/master
mutability Feb 9, 2017
9fe1a48
Revise init script to follow Debian interpretation of LBS standards -…
Romeo-Golf Feb 9, 2017
bffaa6d
Merge pull request #185 from Romeo-Golf/master
mutability Feb 9, 2017
b1c4085
pkg-config --cflags consistent with --libs
labomb Feb 11, 2017
03b4ada
fallback if missing repo tags
labomb Feb 11, 2017
47d3b8c
Merge pull request #189 from labomb/Makefile-tags
mutability Feb 11, 2017
a2bf08d
Merge pull request #188 from labomb/Makefile-cflags
mutability Feb 11, 2017
0034962
Remove an ancient 2MHz capture.
mutability Feb 15, 2017
b155fdb
Update README.md
mutability Jun 1, 2017
9d291b0
Remove wac, add helicopter instead. WAC no longer supported by chartb…
steve-wormley Oct 19, 2017
8c4c0fb
Merge pull request #212 from wormley/chartbundle_wac
mutability Jan 10, 2018
cc53c90
Add fakeroot to travis build (not sure why this broke)
mutability Jan 10, 2018
f65759d
Disable gcc -Wformat-truncation warning due to false positives.
mutability Mar 10, 2018
4a16df3
Try to make clang happy.
mutability Mar 10, 2018
fb5942d
Force --net-verbatim if aggressive mode is enabled.
mutability May 9, 2018
0ec2dd8
Old code warning.
mutability Sep 11, 2018
dd7f611
This repository is unmaintained and out of date, don't use it.
mutability Sep 14, 2019
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
10 changes: 0 additions & 10 deletions .gitignore

This file was deleted.

30 changes: 0 additions & 30 deletions Makefile

This file was deleted.

284 changes: 4 additions & 280 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,284 +1,8 @@
Dump1090 README
===
# Old dump1090-mutability fork

Dump 1090 is a Mode S decoder specifically designed for RTLSDR devices.
dump1090-mutability is no longer maintained; please don't use it for new installs.

The main features are:
For new installs and ongoing development, try dump1090-fa, which is available at https://github.com/flightaware/dump1090

* Robust decoding of weak messages, with mode1090 many users observed
improved range compared to other popular decoders.
* Network support: TCP30003 stream (MSG5...), Raw packets, HTTP.
* Embedded HTTP server that displays the currently detected aircrafts on
Google Map.
* Single bit errors correction using the 24 bit CRC.
* Ability to decode DF11, DF17 messages.
* Ability to decode DF formats like DF0, DF4, DF5, DF16, DF20 and DF21
where the checksum is xored with the ICAO address by brute forcing the
checksum field using recently seen ICAO addresses.
* Decode raw IQ samples from file (using --ifile command line switch).
* Interactive command-line-interfae mode where aircrafts currently detected
are shown as a list refreshing as more data arrives.
* CPR coordinates decoding and track calculation from velocity.
* TCP server streaming and recceiving raw data to/from connected clients
(using --net).
The historical master branch is available in the `unmaintained` branch.

Installation
---

Type "make".

Normal usage
---

To capture traffic directly from your RTL device and show the captured traffic
on standard output, just run the program without options at all:

./dump1090

To just output hexadecimal messages:

./dump1090 --raw

To run the program in interactive mode:

./dump1090 --interactive

To run the program in interactive mode, with networking support, and connect
with your browser to http://localhost:8080 to see live traffic:

./dump1090 --interactive --net

In iteractive mode it is possible to have a less information dense but more
"arcade style" output, where the screen is refreshed every second displaying
all the recently seen aircrafts with some additional information such as
altitude and flight number, extracted from the received Mode S packets.

Using files as source of data
---

To decode data from file, use:

./dump1090 --ifile /path/to/binfile

The binary file should be created using `rtl_sdr` like this (or with any other
program that is able to output 8-bit unsigned IQ samples at 2Mhz sample rate).

rtl_sdr -f 1090000000 -s 2000000 -g 50 output.bin

In the example `rtl_sdr` a gain of 50 is used, simply you should use the highest
gain availabe for your tuner. This is not needed when calling Dump1090 itself
as it is able to select the highest gain supported automatically.

It is possible to feed the program with data via standard input using
the --ifile option with "-" as argument.

Additional options
---

Dump1090 can be called with other command line options to set a different
gain, frequency, and so forth. For a list of options use:

./dump1090 --help

Everything is not documented here should be obvious, and for most users calling
it without arguments at all is the best thing to do.

Reliability
---

By default Dump1090 checks for decoding errors using the 24-bit CRC checksum,
where available. Messages with errors are discarded.

The --fix command line switch enables fixing single bit error correction
based on the CRC checksum. Technically, it uses a table of precomputed
checksum differences resulting from single bit errors to look up the
wrong bit position.

This is indeed able to fix errors and works reliably in my experience,
however if you are interested in very reliable data I suggest to use
the --no-fix command line switch in order to disable error fixing.

Performances and sensibility of detection
---

In my limited experience Dump1090 was able to decode a big number of messages
even in conditions where I encountered problems using other programs, however
no formal test was performed so I can't really claim that this program is
better or worse compared to other similar programs.

If you can capture traffic that Dump1090 is not able to decode properly, drop
me an email with a download link. I may try to improve the detection during
my free time (this is just an hobby project).

Network server features
---

By enabling the networking support with --net Dump1090 starts listening
for clients connections on port 30002 and 30001 (you can change both the
ports if you want, see --help output).

Port 30002
---

Connected clients are served with data ASAP as they arrive from the device
(or from file if --ifile is used) in the raw format similar to the following:

*8D451E8B99019699C00B0A81F36E;

Every entry is separated by a simple newline (LF character, hex 0x0A).

Port 30001
---

Port 30001 is the raw input port, and can be used to feed Dump1090 with
data in the same format as specified above, with hex messages starting with
a `*` and ending with a `;` character.

So for instance if there is another remote Dump1090 instance collecting data
it is possible to sum the output to a local Dump1090 instance doing something
like this:

nc remote-dump1090.example.net 30002 | nc localhost 30001

It is important to note that what is received via port 30001 is also
broadcasted to clients listening to port 30002.

In general everything received from port 30001 is handled exactly like the
normal traffic from RTL devices or from file when --ifile is used.

It is possible to use Dump1090 just as an hub using --ifile with /dev/zero
as argument as in the following example:

./dump1090 --net-only

Or alternatively to see what's happening on the screen:

./dump1090 --net-only --interactive

Then you can feed it from different data sources from the internet.

Port 30003
---

Connected clients are served with messages in SBS1 (BaseStation) format,
similar to:

MSG,4,,,738065,,,,,,,,420,179,,,0,,0,0,0,0
MSG,3,,,738065,,,,,,,35000,,,34.81609,34.07810,,,0,0,0,0

This can be used to feed data to various sharing sites without the need to use another decoder.

Antenna
---

Mode S messages are transmitted in the 1090 Mhz frequency. If you have a decent
antenna you'll be able to pick up signals from aircrafts pretty far from your
position, especially if you are outdoor and in a position with a good sky view.

You can easily build a very cheap antenna following the istructions at:

http://antirez.com/news/46

With this trivial antenna I was able to pick up signals of aircrafts 200+ Km
away from me.

If you are interested in a more serious antenna check the following
resources:

* http://gnuradio.org/redmine/attachments/download/246/06-foster-adsb.pdf
* http://www.lll.lu/~edward/edward/adsb/antenna/ADSBantenna.html
* http://modesbeast.com/pix/adsb-ant-drawing.gif

Aggressive mode
---

With --aggressive it is possible to activate the *aggressive mode* that is a
modified version of the Mode S packet detection and decoding.
The aggresive mode uses more CPU usually (especially if there are many planes
sending DF17 packets), but can detect a few more messages.

The algorithm in aggressive mode is modified in the following ways:

* Up to two demodulation errors are tolerated (adjacent entires in the
magnitude vector with the same eight). Normally only messages without
errors are checked.
* It tries to fix DF17 messages with CRC errors resulting from any two bit
errors.

The use of aggressive mdoe is only advised in places where there is
low traffic in order to have a chance to capture some more messages.

Debug mode
---

The Debug mode is a visual help to improve the detection algorithm or to
understand why the program is not working for a given input.

In this mode messages are displayed in an ASCII-art style graphical
representation, where the individial magnitude bars sampled at 2Mhz are
displayed.

An index shows the sample number, where 0 is the sample where the first
Mode S peak was found. Some additional background noise is also added
before the first peak to provide some context.

To enable debug mode and check what combinations of packets you can
log, use `mode1090 --help` to obtain a list of available debug flags.

Debug mode includes an optional javascript output that is used to visualize
packets using a web browser, you can use the file debug.html under the
'tools' directory to load the generated frames.js file.

How this program works?
---

The code is very documented and written in order to be easy to understand.
For the diligent programmer with a Mode S specification on his hands it
should be trivial to understand how it works.

The algorithms I used were obtained basically looking at many messages
as displayed using a trow-away SDL program, and trying to model the algorithm
based on how the messages look graphically.

How to test the program?
---

If you have an RTLSDR device and you happen to be in an area where there
are aircrafts flying over your head, just run the program and check for signals.

However if you don't have an RTLSDR device, or if in your area the presence
of aircrafts is very limited, you may want to try the sample file distributed
with the Dump1090 distribution under the "testfiles" directory.

Just run it like this:

./dump1090 --ifile testfiles/modes1.bin

What is --strip mode?
---

It is just a simple filter that will get raw IQ 8 bit samples in input
and will output a file missing all the parts of the file where I and Q
are lower than the specified <level> for more than 32 samples.

Use it like this:

cat big.bin | ./dump1090 --snip 25 > small.bin

I used it in order to create a small test file to include inside this
program source code distribution.

Contributing
---

Dump1090 was written during some free time during xmas 2012, it is an hobby
project so I'll be able to address issues and improve it only during
free time, however you are incouraged to send pull requests in order to
improve the program. A good starting point can be the TODO list included in
the source distribution.

Credits
---

Dump1090 was written by Salvatore Sanfilippo <antirez@gmail.com> and is
released under the BSD three clause license.
5 changes: 0 additions & 5 deletions TODO

This file was deleted.

Loading