Commit graph

370 commits

Author SHA1 Message Date
Oliver Jowett
f58c21bfc1 Merge branch 'show-stale-planes' 2014-10-02 22:51:32 +01:00
Oliver Jowett
75438d5595 Change the marker color for aircraft with no recent updates. 2014-10-02 22:50:09 +01:00
MalcolmRobb
65751ed6e9 Merge pull request #45 from mutability/net-client-eof-handling
Detect client EOF properly. Handle EWOULDBLOCK.
2014-10-02 21:32:40 +01:00
MalcolmRobb
dee6ded673 Merge pull request #35 from mutability/use-repaired-checksums
Check if bit correction happened before bailing out due to a bad CRC.
2014-10-02 21:29:10 +01:00
Oliver Jowett
1cf0097dac Merge branch 'fix-net-list-corruption' 2014-10-02 21:18:35 +01:00
Malcolm Robb
4f449a8d44 Make Pull # compatible with Pull #42 2014-10-02 21:08:57 +01:00
Oliver Jowett
a2f49f2bb8 Fix a crash when an outbound client is closed in response to reading a remote message.
When we read from some client A, we may end up forwarding a message to other
clients. If we forward to some client B and there is a write error, then
we close B and remove it from the client list. However, if before this happened
A->next == B, then the read loop will still be holding on to a pointer to B,
and we crash.

As it's unpredictable what clients could be closed at what point, the simplest
approach is to retain closed clients in the list until we are at a point where
we know there are no stray pointers on stack, and only then modify the list.
This also simplifies anything that has to loop over clients, as it doesn't need
to worry about the current client being freed under it.
2014-10-02 21:06:10 +01:00
MalcolmRobb
16a900c667 Merge pull request #42 from mutability/prefer-global-cpr
Prefer to use global CPR decoding where possible.
2014-10-02 21:05:26 +01:00
MalcolmRobb
bc496fbcad Merge pull request #43 from mutability/more-stats
Add --stats-every option, add sample block counters
2014-10-02 20:51:13 +01:00
Malcolm Robb
5a5c52d7a9 Merge remote-tracking branch 'origin/pr/46' 2014-10-02 19:53:43 +01:00
MalcolmRobb
98f510540e Merge pull request #47 from mutability/flightradar-compat-fix
Always emit a message reception time, as otherwise the FR24 uploader is unhappy.
2014-10-02 19:41:18 +01:00
Oliver Jowett
e4a3bd6c51 Merge branch 'flightradar-compat-fix' 2014-10-02 12:22:32 +01:00
Oliver Jowett
15f3408d8e Always emit a message reception time, as otherwise the FR24 uploader is unhappy.
When we don't have a time available (e.g. remote message) use the system time.
2014-10-02 12:20:37 +01:00
MalcolmRobb
bf111360bc Merge pull request #44 from mutability/fix-obinary
Only use O_BINARY on Win32
2014-10-01 13:57:07 +01:00
Oliver Jowett
622b158367 Merge branches 'fix-obinary', 'net-client-eof-handling' and 'report-bind-errors' 2014-10-01 12:41:28 +01:00
Oliver Jowett
186cac5c25 Use the anet-reported error string when reporting bind errors.
errno may have been modified by the time you see it.
2014-10-01 12:37:29 +01:00
Oliver Jowett
a513c3677b Detect client EOF properly. Handle EWOULDBLOCK.
Client disconnection appears as a read of 0 bytes.
Without a test for this, dump1090 continues to poll that client forever.

Also, read() may return EWOULDBLOCK as well as EAGAIN
for "no data right now", so handle that.

I don't know if there is an equivalent Win32 bug here as the Win32
interfaces seem subtly different to vanilla POSIX.

The following test/break can probably be removed if Win32 needs
the same fix.
2014-10-01 12:29:16 +01:00
Oliver Jowett
98c7c73d06 Only use O_BINARY on Win32 2014-10-01 12:17:51 +01:00
Oliver Jowett
9691e7bf79 Merge upstream. 2014-10-01 12:05:04 +01:00
MalcolmRobb
c09c68466c Merge pull request #41 from mutability/skip-remote-timestamps
Don't output message reception time in SBS format for remote messages.
2014-09-30 17:15:46 +01:00
Malcolm Robb
e3bbf7b266 Read Files are binary
When replaying recordings, the read files are binary, so the file open
needs to reflect this so that spurious end of file characters aren't
misinterpreted.
2014-09-30 16:36:56 +01:00
Malcolm Robb
aa063ba89f Undo Parts of Pull request #29
The table sizing doesn't seem to work in M$ IE8 and IE9.
2014-09-30 16:35:15 +01:00
MalcolmRobb
732fe52a10 Merge pull request #28 from ddeitterick/change_plotted_plane_table_bg_color
Change the Background Color for a Plotted Plane
2014-09-30 15:19:42 +01:00
MalcolmRobb
9d3452f424 Merge pull request #27 from ddeitterick/format_track_field
Add Degree Symbol to Track Value
2014-09-30 15:18:35 +01:00
MalcolmRobb
5cdcc22734 Merge pull request #29 from tslocum/bettermap
Improve map display layout and styling
2014-09-30 15:16:25 +01:00
MalcolmRobb
bd151e1e54 Merge pull request #40 from mutability/discard-bad-cpr-latitudes
Reject out-of-range latitudes when doing CPR decoding.
2014-09-30 15:10:33 +01:00
MalcolmRobb
8725ba0b6d Merge pull request #39 from mutability/fractional-gain
Fix --gain with fractional gain values.
2014-09-30 15:00:12 +01:00
Oliver Jowett
4cf07536be Merge branch 'report-snr' 2014-09-26 00:34:17 +01:00
Oliver Jowett
826d5e92fa Don't count ambiguous bits beyond bit 56 towards SNR. 2014-09-26 00:33:39 +01:00
Oliver Jowett
9fad408f57 Merge branch 'more-stats' 2014-09-25 22:03:57 +01:00
Oliver Jowett
b98c6856b3 Move the stats reset strictly after stats display, so the total message count is shown correctly. 2014-09-25 22:02:52 +01:00
Oliver Jowett
67cdb0f01a Merge branch 'skip-remote-timestamps' 2014-09-25 21:46:34 +01:00
Oliver Jowett
3eb39ab788 Don't output message reception time in SBS format for remote messages.
For remotely received messages that have a mlat timestamp, we have no
useful way of turning that timestamp into a wallclock timestamp, so
don't try, or we'll just produce wildly wrong results (_days_ in error)
2014-09-25 21:45:46 +01:00
Oliver Jowett
b58ae5a17e Merge branch 'more-stats' 2014-09-25 20:36:42 +01:00
Oliver Jowett
4fc2697555 Add stats for number of sample blocks processed and dropped. 2014-09-25 20:35:54 +01:00
Oliver Jowett
10061675de Add --stats-every <secs> option.
Periodically displays and resets stats.
Useful for unattended operation.
2014-09-25 20:33:50 +01:00
Oliver Jowett
fd4c480df7 Merge cleanup. 2014-09-25 17:18:44 +01:00
Oliver Jowett
d820ae1afc Merge branch 'prefer-global-cpr' 2014-09-25 17:18:08 +01:00
Oliver Jowett
661246d347 Prefer to use global CPR decoding where possible.
There is a danger in always using relative decoding where possible.
If there is an undetected error in the first pair of messages received,
then global CPR decoding will give a bad position, and subsequent
relative decoding will just walk around near that bad position even
though many error-free pairs of odd/even messages may have been received.

The first pair of position messages also tends to be the most error-prone, as
they are usually received at the extreme edge of receiver range.

(I see this happen at least once a day in practice)

So, instead, prefer to use global decoding when we have sufficiently recent data.
With recent data this should always be as good as relative decoding, and it
avoids getting stuck with bad data for long periods of time. If we don't have
enough recent data for a global solution, fall back to relative decoding.
2014-09-25 17:10:55 +01:00
Oliver Jowett
af281592e8 Merge branch 'discard-bad-cpr-latitudes' 2014-09-25 16:10:27 +01:00
Oliver Jowett
e5b3572e8b Reject out-of-range latitudes when doing CPR decoding.
If a CPR message with an undetected error is received this can produce out-of-range results for latitude.
e.g. even latitude of 78000, odd latitude of 0 produces a latitude index j=35 and rlat0 = 213.
2014-09-25 15:49:39 +01:00
Oliver Jowett
3f9c859800 Merge branch 'fractional-gain' 2014-09-24 20:02:00 +01:00
Oliver Jowett
95ccb90c76 Fix --gain with fractional gain values. 2014-09-24 20:01:06 +01:00
Oliver Jowett
5bcc7e1b9a Merge branch 'report-snr' 2014-09-23 14:07:53 +01:00
Oliver Jowett
83d256e984 Fix a thinko in computing the log10 table.
(This shouldn't actually affect the resulting SNR since it's just a constant offset, and the errors in signal and noise will cancel out)
2014-09-23 14:05:25 +01:00
Oliver Jowett
e6e92b1e8e Merge branch 'no-decode'
Conflicts:
	mode_s.c
2014-09-23 00:01:54 +01:00
Oliver Jowett
5683001164 Add --no-decode option.
This disables most decoding of the contents of Mode S messages, aircraft tracking, and some output modes that depend on them.
It's intended for edge receivers that just forward to a central hub rather than processing data locally.
2014-09-22 23:56:49 +01:00
Oliver Jowett
76c958b03e Use a lookup table for SNR calculation. 2014-09-22 14:53:06 +01:00
Oliver Jowett
2e45a59986 Make signalLevel represent the SNR in dB, rather than a somewhat arbitrary amplitude value.
Include SNR values when dumping message contents.
2014-09-15 02:49:11 +01:00
Oliver Jowett
0378620445 Merge branch 'improve-phase-enhancement' 2014-09-15 01:58:38 +01:00