Commit graph

340 commits

Author SHA1 Message Date
Oliver Jowett 5c8e6198b7 First cut for sampling at 2.4MHz + phase detection. 2014-09-26 22:42:38 +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
Oliver Jowett 31b28b3878 Rearrange phase enhancement so that it handles phase errors in both directions.
This almost doubles the number of messages recovered by phase enhancement.
2014-09-15 01:43:14 +01:00
Oliver Jowett 7fab5b0cb5 Check if bit correction happened before bailing out due to a bad CRC. 2014-09-13 12:11:19 +01:00
Malcolm Robb a82df07c0c Version 1.09.0608.14
Release of COAA PlanePlotter MLAT and SMU support for RPi

ppup1090 now supports Ground Stations functions required for MLAT and
SMU operation. This is *ONLY* available for RPi and similar linux
hardware.

Also included are sample startup scripts for dump1090 only and
dump1090+ppup1090 together.
2014-08-06 15:29:08 +01:00
Malcolm Robb 90fa1dac81 net_io port 30003 bug
Thanks to "Harrie" for this one.
Fix the SBS port 30003 stream to always include speed and/or heading
when available.
2014-08-06 15:29:07 +01:00
Malcolm Robb f1b85ec5e7 Tidy up interactive.c
Remove spaces from the end of line.
2014-08-06 15:29:06 +01:00
Malcolm Robb 845289ad9f Version 1.09.1607.14
Improvements to COAA MLAT functions
Reduce CPU load in PPUP1090 and DUMP1090 during cleanup
2014-08-06 15:29:06 +01:00
Malcolm Robb 8b05286a24 Version 1.09.1007.14
Updates to support COAA Planeplotter Ground Station on an RPi
2014-08-06 15:29:05 +01:00
MalcolmRobb a17e5b0f98 Merge pull request #23 from hhm0/decoding
use last recent airplane position to calculate its ground position
2014-07-16 15:21:42 +01:00
hhm d1b37ad1c5 B"H decoding: use last air position to calculate ground position 2014-07-14 04:03:07 -04:00
MalcolmRobb 60e2c92c05 Merge pull request #21 from hhm0/view1090_net_mods
View1090 net mods
2014-07-10 16:52:46 +01:00
MalcolmRobb f68ae551df Merge pull request #22 from matthewbrandes/master
Allows choosing device by serial number rather than device index which can change.
2014-07-10 16:48:53 +01:00
matthewbrandes 6f14ecf7dd Update dump1090.c 2014-07-08 17:34:43 -05:00
matthewbrandes c80582274b Delete convienience.c 2014-07-08 17:32:30 -05:00
matthewbrandes 3043e86096 Delete convienience.h 2014-07-08 17:32:16 -05:00
matthewbrandes 652af93b88 Update dump1090.c 2014-07-08 16:58:23 -05:00
matthewbrandes d0207569b6 Update dump1090.c 2014-07-08 16:56:03 -05:00
matthewbrandes a190677ad4 Create convienience.c 2014-07-08 16:55:16 -05:00
matthewbrandes 50b05c538e Create convienience.h 2014-07-08 16:54:30 -05:00
matthewbrandes 8110549fee Update dump1090.c 2014-07-08 15:12:46 -05:00
hhm a86eb7a61c B"H view1090: do not use pthreads
It *seems* that pthreads are used in dump1090 for I/! sample reading
only. So view1090 need not use pthread_exit.
2014-07-06 05:58:44 -04:00
hhm ec09cc7a71 B"H view1090: sleep a bit between loops
view1090 was using close to 100% CPU before, with the non-blocking
commits and the reconnection code. sleep a bit between loop iterations
to keep CPU usage low.

CPU usage with this addition was down to <1% in testing.
2014-07-03 02:41:06 -04:00
hhm 350a57f858 B"H view1090: do not block
- do not block on network data
2014-07-02 07:41:43 -04:00
hhm 96015e38c8 B"H view1090: handle disconnection
- keep trying to reconnect to server if disconnected
2014-07-02 07:38:46 -04:00
MalcolmRobb c0d6ea073f Merge pull request #20 from hhm0/network_disabling
make network services disable-able
2014-06-27 11:45:41 +01:00
MalcolmRobb 190a746dce Merge pull request #19 from hhm0/decoding
decode more squawk codes
2014-06-27 11:43:30 +01:00
hhm 59984ac8af B"H allow disable ports, doc disable net heartbeat 2014-06-24 23:58:46 -04:00