Commit graph

201 commits

Author SHA1 Message Date
Brian Davenport b0e0f96c94 Merge pull request #8 from MalcolmRobb/master
Pulling in from MalcomRobb's Master
2013-05-23 04:45:30 -07:00
Malcolm Robb e50c2a5a54 Phase Enhancement changes
Phase enhancement is used to try and increase the signal amplitude when
Nyquist sample aliasing is suspected. In previous versions, this was
enabled by default. In this version, the default is off. There is now an
additional command line switch --phase-enhance to turn it on.

There are also additional debug statistics which count the number of
phase demodulation failures in for both uncorrected and phase corrected
passes.
2013-05-22 13:23:54 +01:00
Malcolm Robb b481c76909 mm structure initialisation
Ideally we should clear down the mm structure every loop of our
ModeA/C/S bit detector. However, we're getting 2Mbits of data per
second, and the structure is several tens of bytes long. Clearing down
every loop would require us to zero up to 100Mb per second. The memset
function may be fast, but it's still going to take up valuable processor
time.

So instead of clearing the whole structure every loop, just clear the
important parts.
2013-05-22 11:49:03 +01:00
Terhi 3117b1cda5 Merge pull request #6 from terribl/master
resetMap()

Did I manage to do this right? Let's try.
2013-05-21 20:18:39 -07:00
terribl f853550b3c Fixing resetMap()-bug. 2013-05-22 06:07:35 +03:00
Malcolm Robb 4a3113f65a Decode DF-18 2013-05-22 00:05:03 +01:00
Malcolm Robb 08ffc3f541 Change mm.crc checks to mm.correctedbits
Instead of force clearing mm.crc to zero if we successfully correct bit
errors, just use the mm.correctedbits variable. This allows us to print
out the crc value containing the errors during list output modes.
2013-05-21 23:16:49 +01:00
Brian Davenport 05c9ebbb76 Merge pull request #3 from terribl/master
New settings div
2013-05-21 12:36:21 -07:00
terribl a1d4a9f320 Merge branch 'settings' 2013-05-21 21:46:58 +03:00
Malcolm Robb be6cb6eaf0 VK1ET : Use error corrected DF17
Actually use the (DF17) messages where we do bit correction.

Other changes to AVR message I/O.
1) treat mlat timestamp of zero as invalid (easier to work with than
(-1) and equally unlikely).
2) If we don't have a valid timestamp send a without timestamp
'*.......' message rather than '@.......' with invalid time.
3) Drop interpretation of obsolete AVR ' #' & '$' formats - they
wouldn't have worked anyway (wrong length).
2013-05-21 16:43:07 +01:00
Malcolm Robb e33591d65d VK1ET : Check Bit Correction against ICAO cache
If we error correct a DF17 frame, check that the ICAOaddr exists in our
recently seen ICAO cache. This reduces the likelyhood of birthday
paradox solutions producing false ICAO addresses
2013-05-21 16:01:54 +01:00
Malcolm Robb 542b94dedb VK1ET : Changes to fixBitErrors()
1) Reduce complexity of fixBitErrors()
2) Inline flipBits()
3) Remove validation checks that can never occur.
2013-05-21 13:40:07 +01:00
terribl d7df2ad706 Merge remote-tracking branch 'upstream/master' 2013-05-21 15:27:54 +03:00
Malcolm Robb 0a0ba165db VK1ET : Changes to modesInitError()
Restrict Syndromes to exclude DF bits. Do NOT introduce syndromes for
errors in the first 5 bits (DF field)

Use the --aggressive flag to see if we populate the two-bit error
syndromes. If --aggressive is not specified, then we don't attempt to
fix two bit errors.
2013-05-21 13:25:33 +01:00
terribl 0dfc083aa5 New settings area
New settings area can be opened by clicking Settings-link and closed by same link or OK-button. No settings to change yet.

	modified:   public_html/gmap.html
	modified:   public_html/script.js
	modified:   public_html/style.css
2013-05-21 15:19:36 +03:00
Malcolm Robb 640d63a0d1 VK1ET: Shorten CRC calculation
We don't need to include the CRC itself one bit at a time. This shortens
the loop count by 24 iterations, so should be much faster
2013-05-21 12:54:34 +01:00
Malcolm Robb f33a7090b0 VK1ET : Better pthread termination
Close threads, mutex and conditions using pthread functions

Also, correct/update a few comments.
2013-05-21 12:08:35 +01:00
Malcolm Robb 92fd06bcd6 VK1ET : Bugfix in Error correction table
vk1etI believe there is an error in the way the CRC error syndromes are
being created in the two bit case. The inner loop was introducing an
extra error bit each time through rather than moving it. Below is the
modified code fragment for syndrome creation collapsedSun 07:26
19 May 2013 07:26vk1et [notifications@github.com]Actions
To:Mantirez/dump1090 ‎[dump1090@noreply.github.com]‎Cc:MMalcolmRobb
‎[Support@ATTAvionics.com]‎

To help protect your privacy, some content in this message has been
blocked. If you're sure this message is from a trusted sender and you
want to re-enable the blocked features, click here.
Bugfix first noted by VK1ET, and posted here :
https://github.com/antirez/dump1090/pull/23#issuecomment-18113094

I believe there is an error in the way the CRC error syndromes are being
created in the two bit case. The inner loop was introducing an extra
error bit each time through rather than moving it.
2013-05-21 11:28:56 +01:00
MalcolmRobb bd39479e70 Merge pull request #6 from bdavenport/tablesort
Table sort & bit cleaner look with larger tables on smaller screens
2013-05-21 02:35:00 -07:00
terribl 0ee5cdb5de Fixed a bug on Settings-link placement 2013-05-21 11:43:08 +03:00
terribl 2d1325f014 Changing info_footer to info_settings.
Location from footer to top right hand corner.

	modified:   public_html/gmap.html
	modified:   public_html/script.js
	modified:   public_html/style.css
2013-05-21 10:33:02 +03:00
Brian Davenport 8e23983c86 Merge pull request #1 from terribl/master
Added link to FlightStats-service
2013-05-20 04:04:11 -07:00
terribl 9e8c1053bd Added link to FlightStats for flights with flight number.
modified:   public_html/script.js
	modified:   public_html/style.css
2013-05-20 11:21:08 +03:00
Brian Davenport e1a06656d5 Added terribl's suggestion. 2013-05-19 15:44:19 +00:00
Brian Davenport 4dc9271ee0 Adds a bit of sorting to the table by clicking column headers
Also made the design work for lower resolution monitors, especially when the list has 20+ planes.
2013-05-18 21:54:59 +00:00
Malcolm Robb eac2a90a8a Version update
Version update for terribl and bdavenport's combined changes
2013-05-14 22:26:26 +01:00
MalcolmRobb 7cff495346 Merge pull request #3 from terribl/master
Web client
2013-05-14 14:20:06 -07:00
terribl 7b99ad5f6c Few bugs 2013-05-14 13:04:31 +03:00
terribl 72142fac84 Combined effort and code from bdavenport and me.
Added quite a lot of new things this time - see modified files or just
be brave and try :)

	modified:   public_html/gmap.html
	modified:   public_html/script.js
	modified:   public_html/style.css
2013-05-14 12:55:16 +03:00
terribl 9ea6f3e8e2 Merge remote-tracking branch 'upstream/master' 2013-05-14 12:54:05 +03:00
Malcolm Robb df4a24bf14 Version update for Ulrich
Updated the version number for Ulrich's code

Replaced some Tabs with spaces

Forward declaration of the fixBitErrors() function required for M$ VC
6.0 to suppress warning messages.
2013-05-14 10:49:57 +01:00
MalcolmRobb e0bc0ba814 Merge pull request #4 from ukuehn/master
Bit error correction code improved
2013-05-14 02:30:18 -07:00
Ulrich Kuehn feab602088 Call new error correction code. Instead of bit positions record no. of corrected bits. 2013-05-12 17:57:26 +02:00
Ulrich Kuehn 6d5d7a4244 Test code for new bit error correction plus timing. This code is run when debugging. 2013-05-12 17:41:22 +02:00
Ulrich Kuehn 0a4fc6e98f Added code for table based correction of bit errors. Code is not called yet except initialisation. 2013-05-12 17:33:44 +02:00
terribl ae69cd5d48 Web view JavaScript modifications.
modified:   public_html/gmap.html
	modified:   public_html/script.js
	modified:   public_html/style.css
2013-05-12 15:15:18 +03:00
terribl 6f228b9c88 Upstream merge finalized 2013-05-12 09:53:07 +03:00
terribl cac715e40a Upstream merge conflicts resolved 2013-05-12 09:50:20 +03:00
terribl 78f565cb4f Really minor tweaks 2013-05-12 09:37:17 +03:00
Malcolm Robb f56679a61d VK1ET : Bugfix pTimestamp printf()
Change the type of pTimestamp from char* to unsigned char* to stop sign
extension messing up the printf("%02X,pTimestamp stuff
2013-05-12 01:17:38 +01:00
Malcolm Robb 8feabda35b BDAVENPORT : Adds a Table
Implement improvements to the public_html stuff as supplied by
bdavenport.
No changes to the C code.
2013-05-12 00:57:30 +01:00
terribl e65e873c13 Added flags to json for valid position and heading
As MalcolmRobb suggested.

	modified:   dump1090.c
	modified:   public_html/script.js
2013-05-11 23:36:11 +03:00
terribl ebadf90a57 Merge remote-tracking branch 'upstream/master' 2013-05-11 21:52:48 +03:00
Malcolm Robb c83d404c4a Update of some comments, Version and release 2013-05-11 16:11:45 +01:00
terribl e6080e259f Some map view changes
modified:   public_html/gmap.html
	modified:   public_html/script.js
	modified:   public_html/style.css
2013-05-11 17:04:23 +03:00
Malcolm Robb d0469061ff Update ModeA/C to ModeS
Update the ModeA/C to Mode S comparison routine to use bFlags.
2013-05-11 15:02:34 +01:00
terribl bf4ccaca06 bdavenports .diff-file 2013-05-11 13:15:09 +03:00
Malcolm Robb 6427fcc1ee VK1ET : --Interactive display changes
Based on a submission by VK1ET, but I've tweaked it a bit to use the
bFlags.

Basically, only print out values in --interactive that have been
received from the aircraft. Previous versions would display 0.000 for
lat and long for any positionless aircraft. This version prints blanks
instead for any/all fields that are not yet known.
2013-05-10 18:17:19 +01:00
Malcolm Robb cd86d58898 Major Rewrite of SBS output code
Remove dependency of the SBS output code on the historic (a) aircraft
structure. The only items that were required were the decoded aircraft
Lat/Lon and these are now included in the mm structure.

Rewrite the SBS output code to use mm->bFlags when populating the output
fields. This ensures that all available data is output, and also that no
stale data is sent.

Using the mm->bFlags variable for SBS output means there is no further
requirement for the sbsFlags member in the aircraft structure, so remove
it.

Cross your fingers and hope this hasn't introduced too many bugs !
2013-05-10 17:27:34 +01:00
Malcolm Robb 7df6d656a0 Implement additional Decoding and Tidy
Implement additional bFlags to validate AircraftOnGround, and FS.

Decode Aircraft On Ground from DF0, DF4, DF5, DF16, DF20, and DF21 where
possible.
Flag FS as valid for DF4, DF5, DF20, DF21,

Remove dr and um from the mm structure. They're only used in console
list output mode, so decode them there if required.
2013-05-10 17:17:10 +01:00