Skip to content

Commit c2e79d4

Browse files
committed
Many small improvements (see full commit message).
* Better preamble detection to skip most of the messages we'll likely not be able to decode. * A Phase correction algorithm that improves the recognition compared to the previous algorithm used. * Javascript output in debug mode, and a debug.html file that can be used in order to see graphically undecoded samples. * Ability to detect cross-read messages, that are, messages that happen to start and end across two different reads from the device or file. * A few bugx fixed. * README improved.
1 parent 9086290 commit c2e79d4

File tree

5 files changed

+478
-107
lines changed

5 files changed

+478
-107
lines changed

.gitignore

+2
Original file line numberDiff line numberDiff line change
@@ -2,3 +2,5 @@
22
dump1090
33
testfiles/*.bin
44
misc
5+
frames.js
6+
.*.swp

README.md

+12-31
Original file line numberDiff line numberDiff line change
@@ -7,19 +7,20 @@ The main features are:
77

88
* Robust decoding of weak messages, with mode1090 many users observed
99
improved range compared to other popular decoders.
10+
* Network support: TCP30003 stream (MSG5...), Raw packets, HTTP.
11+
* Embedded HTTP server that displays the currently detected aircrafts on
12+
Google Map.
1013
* Single bit errors correction using the 24 bit CRC.
1114
* Ability to decode DF11, DF17 messages.
1215
* Ability to decode DF formats like DF0, DF4, DF5, DF16, DF20 and DF21
1316
where the checksum is xored with the ICAO address by brute forcing the
1417
checksum field using recently seen ICAO addresses.
1518
* Decode raw IQ samples from file (using --ifile command line switch).
16-
* Interactive mode where aircrafts currently detected are shown
17-
as a list refreshing as more data arrives.
19+
* Interactive command-line-interfae mode where aircrafts currently detected
20+
are shown as a list refreshing as more data arrives.
1821
* CPR coordinates decoding and track calculation from velocity.
1922
* TCP server streaming and recceiving raw data to/from connected clients
2023
(using --net).
21-
* Embedded HTTP server that displays the currently detected aircrafts on
22-
Google Map.
2324

2425
Installation
2526
---
@@ -155,14 +156,14 @@ Then you can feed it from different data sources from the internet.
155156
Port 30003
156157
---
157158

158-
Connected clients are served with messages in SBS1 (BaseStation) format, similar to:
159+
Connected clients are served with messages in SBS1 (BaseStation) format,
160+
similar to:
159161

160162
MSG,4,,,738065,,,,,,,,420,179,,,0,,0,0,0,0
161163
MSG,3,,,738065,,,,,,,35000,,,34.81609,34.07810,,,0,0,0,0
162164

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

165-
166167
Antenna
167168
---
168169

@@ -217,32 +218,12 @@ An index shows the sample number, where 0 is the sample where the first
217218
Mode S peak was found. Some additional background noise is also added
218219
before the first peak to provide some context.
219220

220-
It is possible to display different categories of messages:
221-
222-
--debug 1 Displays all the messages correctly demoudulated.
223-
A correctly demodulated message is just one that
224-
makes sense as a Mode S message, the preamble makes
225-
sense, and there are no message errors, that is,
226-
no adiacet samples describing bits are the same
227-
magnitude.
228-
229-
--debug 2 Only messages with demodulation errors are displayed,
230-
That is, only messages where one or more adiacent
231-
samples that should describe bits are the same
232-
magnitude.
233-
234-
--debug 3 Correctly deooded messages with Bad CRC are displayed.
235-
236-
--debug 4 Correctly deooded messages with good CRC are displayed.
237-
238-
--debug 5 Preamble detection failed in some way (specified when
239-
dumping the samples) even if the current sample level
240-
is greater than MODES_DEBUG_NOPREAMBLE_LEVEL (set to
241-
25 by default).
242-
243-
Network related debug modes:
221+
To enable debug mode and check what combinations of packets you can
222+
log, use `mode1090 --help` to obtain a list of available debug flags.
244223

245-
--debug 6 Log network events (HTTP requests & others)
224+
Debug mode includes an optional javascript output that is used to visualize
225+
packets using a web browser, you can use the file debug.html under the
226+
'tools' directory to load the generated frames.js file.
246227

247228
How this program works?
248229
---

TODO

+3-8
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,5 @@
11
TODO
22

3-
* Extract from information from captured Mode S messages. Currently we only
4-
decode what is trival to decode.
5-
* Decode CPR encoded latitude and longitude, display it in normal and
6-
interactive mode.
7-
* Show nationality in interactive mode and normal mode using the
8-
aircraft ICAO address, like: 30xxxx -> Italy.
9-
* Actually use the fancy --debug feature in order to improve the recognition
10-
algorithm if possibile.
3+
* Extract more information from captured Mode S messages.
4+
* Improve the web interface gmap.html.
5+
* Enhance the algorithm to reliably decode more messages.

0 commit comments

Comments
 (0)