Skip to content

Commit

Permalink
Fix some Markdown:
Browse files Browse the repository at this point in the history
  *) replace '<br>' with '<nl>'.
  *) mention SAPI5 speech option.
  • Loading branch information
gvanem committed Dec 17, 2024
1 parent 36f8a7e commit 20188d9
Showing 1 changed file with 25 additions and 23 deletions.
48 changes: 25 additions & 23 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,11 +2,11 @@

[![MSBuild](https://github.com/gvanem/Dump1090/actions/workflows/msbuild.yml/badge.svg?branch=main)](https://github.com/gvanem/Dump1090/actions/workflows/msbuild.yml)

A simple **ADS-B** (*Automatic Dependent Surveillance - Broadcast*) receiver, decoder and web-server.<br>
A simple **ADS-B** (*Automatic Dependent Surveillance - Broadcast*) receiver, decoder and web-server.<nl>
It requires a RTL-SDR USB-stick (the **librtlsdr** interface is **[built-in](src/externals/rtl-sdr/)**).

This *Mode S* decoder is based on the original *Dump1090* by **Salvatore Sanfilippo**
which is **[here](https://github.com/antirez/dump1090.git)**.<br>
which is **[here](https://github.com/antirez/dump1090.git)**.<nl>
Most of the text below is written by him. In this `README.md` file, I've mostly fixed the MarkDown
and added some more references and screen-shots. But in the source-code I've done a lot of changes.

Expand All @@ -22,7 +22,7 @@ and added some more references and screen-shots. But in the source-code I've don
improved range compared to other popular decoders.
* Network support: *TCP* port 30003 stream (*MSG5* ...), Raw packets and HTTP.
* An embedded **[Mongoose](https://www.cesanta.com/)** HTTP server that displays
the currently detected aircrafts on an OpenStreet Map.<br>
the currently detected aircrafts on an OpenStreet Map.<nl>
Hopefully WebSocket support is coming soon (JScript and Json transfer is rather chatty).
* Single bit errors correction using the 24 bit CRC.
* Ability to decode *DF11*, *DF17* messages (**Downlink Format**).
Expand All @@ -33,8 +33,10 @@ and added some more references and screen-shots. But in the source-code I've don
* Interactive command-line-interface mode where aircrafts currently detected
are shown as a list refreshing as more data arrives. Planes that haven't been seen
last 60 seconds are removed from the list (key/value `interactive-ttl = sec` to change).
* In `--interactive` mode, the planes entering or leaving can be spoken out using SAPI5.<nl>
Ref. `speech-enable = true` in the [**config-file**](dump1090.cfg).
* *CPR* (**Compact Position Reporting**) coordinates decoding and track calculation from velocity.
* TCP server streaming and receiving raw data to/from connected clients <br>
* TCP server streaming and receiving raw data to/from connected clients <nl>
(options `--net` or `--net-only`).
* Many command-line options are now in the `dump1090.cfg` file. See below.

Expand All @@ -47,8 +49,8 @@ and added some more references and screen-shots. But in the source-code I've don
* `c:\dev\Dump1090\src> make -f Makefile.Windows CC=cl` (or `CC=clang-cl`).
* Or using Visual Studio tools:
* `c:\dev\Dump1090\src> msbuild -p:Configuration=Release -p:Platform="x86" Dump1090.sln`.
* or start the Visual Studio IDE, open `Dump1090.sln`, right-click and `Build Solution`. <br>
The project may have to be retargeted. *Devenv* would do this automatically and print <br>
* or start the Visual Studio IDE, open `Dump1090.sln`, right-click and `Build Solution`. <nl>
The project may have to be retargeted. *Devenv* would do this automatically and print <nl>
`Configuration 'Release|x64': changing Platform Toolset to 'v143' (was 'v142')` when finished.

## Normal usage
Expand Down Expand Up @@ -145,7 +147,7 @@ to your browser to **http://localhost:8080**, use this command:
In this interactive mode there is a more compact output. Where the screen is refreshed
up to 4 times per second displaying all the recently seen aircrafts with some additional
information such as call-sign, registration-number, country, altitude, speed, heading and position.
Most items are extracted from the received *Mode S* packets. <br>
Most items are extracted from the received *Mode S* packets. <nl>
Except for:
* *Cntry* (2 letter ISO3166) taken from the *official* range of ICAO address/country mapping.
* *RSSI* (logarithmic *Received Signal Strength Indicator*) is calculated from the 4 last messages.
Expand All @@ -166,7 +168,7 @@ Running with `web-page = %~dp0\web_root-Tar1090\index.html` in the `dump1090.cfg
will show a much more advanced Web-page thanks to [**Tar1090**](https://github.com/wiedehopf/tar1090/) and data from [**Tar1090-DB**](https://github.com/wiedehopf/tar1090-db/):
**![tar1090 output](dump1090-tar1090-web.png)**

Building with a *packed Web-filesystem* is also possible. Then **all** web-pages are built into a `web-pages.dll` file. <br>
Building with a *packed Web-filesystem* is also possible. Then **all** web-pages are built into a `web-pages.dll` file. <nl>
Ref. `USE_PACKED_WEB = 1` in [**Makefile.Windows**](https://github.com/gvanem/Dump1090/blob/main/Makefile.Windows#L22)
and a `web-page = web-pages.dll;N` in the [**config-file**](dump1090.cfg).

Expand Down Expand Up @@ -244,17 +246,17 @@ Use key/value `aircrafts = NUL` to avoid loading this huge (approx. 82 MByte)
`.CSV` file. The latest version of this file is available from:
**https://opensky-network.org/datasets/metadata/**

The option `--update` will check and download <br>
The option `--update` will check and download <nl>
**https://opensky-network.org/datasets/metadata/aircraftDatabase.zip** and
extract using the internal [**zip**](https://github.com/kuba--/zip) functions.
And also rebuild the `aircraft-database.csv.sqlite` file using the internal bundled
[**sqlite3.c**](src/externals/sqlite3.c).

## Additional options

*Dump1090* now has limited command line options. Seldom used settings are now in the default [**config-file**](dump1090.cfg). <br>
This can select gain, frequency, and so forth. <br>
The option `--config <file>` can select another custom `.cfg` file. <br>
*Dump1090* now has limited command line options. Seldom used settings are now in the default [**config-file**](dump1090.cfg). <nl>
This can select gain, frequency, and so forth. <nl>
The option `--config <file>` can select another custom `.cfg` file. <nl>
Full list of options use is shown using `dump1090 --help` or `dump1090 -h`.

A setting like `freq = 1090.001M` is possible for cheap RTL-SDR devices with
Expand Down Expand Up @@ -292,17 +294,17 @@ for clients connections on port 30002 and 30001 (you can change both ports
`net-X-port = Y`. Look in `dump1090.cfg` for details).

* **Port 30002** connected clients are served with data ASAP as they arrive from the device
(or from file if `--infile` is used) in the raw format similar to the following: <br>
`*8D451E8B99019699C00B0A81F36E;` <br>
(or from file if `--infile` is used) in the raw format similar to the following: <nl>
`*8D451E8B99019699C00B0A81F36E;` <nl>
Every entry is separated by a simple newline (LF character, hex `0x0A`).

* **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 `*` and
ending with a `;` character. <br>
ending with a `;` character. <nl>

So for instance if there is another remote *Dump1090* instance collecting data
it is possible to sum the output to a local *Dump1090* instance with the help of
NetCat or NCat:<br>
NetCat or NCat:<nl>
`nc remote-dump1090.example.net 30002 | nc localhost 30001`

It is important to note that what is received via port 30001 is also
Expand All @@ -312,13 +314,13 @@ In general everything received from port 30001 is handled exactly like the
normal traffic from RTL devices or from file when `--infile` is used.

If your feed *Dump1090* with data from the internet, one can use this command to
see on the console what's happening: <br>
see on the console what's happening: <nl>
```
c:\dev\Dump1090> dump1090 --net-only --interactive
```

* **Port 30003** connected clients are served with messages in
**[SBS1 (BaseStation) format](http://woodair.net/sbs/article/barebones42_socket_data.htm)**, similar to: <br>
**[SBS1 (BaseStation) format](http://woodair.net/sbs/article/barebones42_socket_data.htm)**, similar to: <nl>
```
MSG,4,,,738065,,,,,,,,420,179,,,0,,0,0,0,0
MSG,3,,,738065,,,,,,,35000,,,34.81609,34.07810,,,0,0,0,0
Expand Down Expand Up @@ -386,7 +388,7 @@ used to visualize packets using a web browser, you can use
## How this program works?
The code is very documented and written in order to be easy to understand. <br>
The code is very documented and written in order to be easy to understand. <nl>
For the diligent programmer with a *Mode S* specification at hand, it should be
trivial to understand how it works.
Expand All @@ -401,17 +403,17 @@ are aircrafts flying over your head, just run the program and check for signals.
If however you don't have an RTL-SDR device, or if in your area the presence
of aircrafts is very limited, you may want to try it with the sample file under
the **[testfiles](testfiles/)** directory. Run it like this: <br>
the **[testfiles](testfiles/)** directory. Run it like this: <nl>
```
c:\dev\Dump1090> dump1090 <other-options> --ifile testfiles/modes1.bin
c:\dev\Dump1090> dump1090 <other-options> --infile testfiles/modes1.bin
```
## What is `--strip` mode?
A simple filter that will take raw 8-bit IQ samples on input and output a file
missing the I/Q parts that were below the specified `--strip level`. And if
those I/Q samples were below limit for at least 32 samples. <br>
Can be used like: `type big.bin | dump1090 --strip 25 > small.bin`
those I/Q samples were below limit for at least 32 samples. <nl>
It can be used like: `type big.bin | dump1090 --strip 25 > small.bin`
The `--strip` mode was used to create e.g. **[testfiles/modes1.bin](testfiles/modes1.bin)**.
Expand Down

0 comments on commit 20188d9

Please sign in to comment.