Don't allow detection of DF-11 SI/II until we have received at least one
DF-11 for the aircraft with an SI/II of zero.
Previous versions would allow an ICAOAddr to be marked as valid if a
DF-11 was received where the crc was less than 80. This is required for
SI/II detection where the SI/II is overlaid on the crc field. However,
this also decreaces the security of the crc. It is possible for a
corrupt message to result in a crc value of between 1 and 79, and this
will lead to an invalid ICAOAddr being marked as received.
To try and prevent this, do not allow detection of DF-11 II/SI fields
until at least one DF-11 crc=0 has been received. Once this happens, we
ca be fairly sure that this aircraft really is within range, and so
II/SI detection can e used.
Updated the way socket handles are used in View1090 to maintain
compatibility between UNIX and Windows.
Added the initial attempt at a Planeplotter uploader
Ok - this is likely to upset some people. Up until now, the vast
majority of the code has been in just one file - dump1090.c. This file
has grown so that it was approaching of 5000 lines long, and it was
becoming unmanagable. So I've split the file into several modules,
hopefully along fairly logical boundaries. The files are :
1) dump1090.c : Basically just the main() entry function, the help
function, the RTL dongle hardware interface, and a few orphan functions
that don't really fit anywhere else.
2) mode_s.c : This contains all the mode S / ADSB decoding functions.
3) mode_ac.c : This contains all the mode A & C decoding functions
4) interactive.c : This contains all the functions to maintain an
internal list of aircraft seen over the last period, and functions to
print them out to the local console.
5) net_io.c : This contains all the network input/output functions
allowing data to be passed in/out to/from other receivers, in formats
such as SBS-1/3, Beast, AVR and JavaScript.
Hopefully this should provide an easier way forward if/when more
functions are added.