Commit Graph

164 Commits

Author SHA1 Message Date
Oliver Jowett 8b21104d66 Factor out sdr thread CPU monitoring 2020-08-05 19:50:38 +08:00
Oliver Jowett e8b5be519c Make Modes.exit an atomic_int to make cross-thread use a little simpler. 2020-08-05 19:50:38 +08:00
Oliver Jowett 8734ec9992 Remove a WIN32 #ifdef 2020-08-05 19:50:38 +08:00
Oliver Jowett bf8d6db148 Better defaults for MODES_DUMP1090_{VARIANT,VERSION} 2020-08-05 19:50:38 +08:00
Oliver Jowett 66ba823493 Merge branch 'limesdr' of https://github.com/Gluttton/dump1090 into Gluttton-limesdr 2020-08-03 15:16:32 +08:00
Oliver Jowett 5261b98c95 Merge branch 'master' of https://github.com/kr105/dump1090 into kr105-master 2020-08-03 14:32:08 +08:00
Gluttton 53183c0b2a limesdr: basic implementation of LimeSDR support
The commit provides a basic implementation of support for LimeSDR USB
receivers based on LMS7002 chip. The solution has several limitations:
 - passing parameters for tune LimeSDR receiver via command-line
   options is not implemented;
 - only hardcoded configuration is used (channel 0 of lower band LNA,
   LMS_FMT_I16 format, gain, bandwidth and timeout);
 - only one device is supported and it is not possible to select a
   desired one in case if several devices are connected to the host.

Test: compare the output of the program for RTL and LimeSDR receivers.
Environment:
 - RTL2832SDR dongle;
 - LMS7002M based USB LimeSDR board;
 - 800MHz-2200MHz omnidirectional antenna with SMA connector.
Procedure:
 - connect RTL dongle to the host and start the program with the
   following parameters:
   $ ./dump1090 --device-type rtlsdr --interactive
 - wait until several planes will be detected;
 - stop the program, connect the LimeSDR board to the host and restart
   the program with the following parameters:
   $ ./dump1090 --device-type limesdr --interactive
 - ensure that the same planes are detected.
Acceptance criteria: the same planes are detected using both receivers
   and track information matches with information from the
   FlightRadar24 application.

Signed-off-by: Gluttton <gluttton@ukr.net>
2020-07-29 23:09:27 +03:00
Oliver Jowett 0793c64ee8 Clean up linkage of struct Modes to actually make sense.
(how did this work before? But it's been unchanged since at least
2013..)

Maybe fixes #65
2020-06-06 21:52:04 +08:00
Oliver Jowett 886b0d3f81 Treat ADS-R as a separate source type (higher priority than TIS-B, lower priority than direct ADS-B) 2019-12-11 12:43:19 -06:00
Carlos Pizarro 0f0696c97b
Added support for HackRF One 2019-12-09 18:55:40 -03:00
Oliver Jowett a224f6f783 Put a warning header up in view1090 interactive mode when there's no connection 2019-12-02 19:51:06 +08:00
Oliver Jowett 54409b4836 Split beast output into two separate writers for verbatim vs. non-verbatim
in preparation for supporting both types of connection in parallel
2019-11-27 21:01:46 +08:00
Oliver Jowett ce89cd08d9 Groundwork to track "reliable" messages & aircraft.
A "reliable" message is a DF17 or DF11 with good CRC.
A "reliable" aircraft is one that's probably real - we decide it's reliable when
we've seen enough reliable messages, or just enough messages in total, that it's unlikely
to be noise.
2019-11-27 20:51:23 +08:00
Oliver Jowett d33b1160f2 Add COMMB_AMBIGUOUS for Comm-B messages we're not sure of (not yet used) 2019-05-02 17:29:04 +08:00
Oliver Jowett f46640a5c2 Track and report autopilot FMS/MCP separately; also report autopilot altitude source. 2019-03-19 18:44:09 +00:00
Oliver Jowett 9dfc3e7aa6 Arrange to return a non-zero exit code if the SDR thread unexpectedly halts 2019-03-07 18:35:47 +00:00
Oliver Jowett f4fa94f842 Merge branch 'more_mode_s' into dev 2018-05-09 16:20:58 +01:00
Oliver Jowett ea1e9c336b Decode/emit emergency/priority status 2018-01-09 14:43:58 +00:00
Oliver Jowett 079061df3c SIL stuff 2017-12-07 13:36:07 -06:00
Oliver Jowett 161d2d8ded More WIP 2017-12-07 10:34:08 -06:00
Oliver Jowett 6986b3847f WIP on new faup1090 output, data aging, refactoring 2017-12-02 17:38:33 +00:00
Michael Tatarinov 196ef89aca Cleanup after removed internal webserver code.
Fixes: 52464b97c1
2017-07-28 11:35:26 +04:00
Oliver Jowett 382554a250 Tweak tracking of AP modes, emit in json & faup1090 output 2017-06-16 10:39:01 +01:00
Oliver Jowett 1ec32903ba Rework heading/track to include HRD/TAH.
Clean up TIS-B flag output.
2017-06-15 21:07:53 +01:00
Oliver Jowett 27b0e9c40f Rename TARGET_* -> INTENT_ALT_*
Rearrange the intent tracking a bit.
2017-06-15 18:23:28 +01:00
Oliver Jowett 2142d2edf5 Whitespace changes only: cleaning up trailing whitespace at EOL 2017-06-15 18:17:07 +01:00
Oliver Jowett 98d64483d6 WIP: More Comm-B & ADS-B decoding. 2017-06-15 18:07:40 +01:00
Oliver Jowett 417cda7061 Make SC16Q11-nodc conversions table-based for speed.
Add a mechanism for converters to initialize tables on demand.
Move UC8 table setup to the new lazy-setup path.
Fix uc8 lookup table allocation size.
2017-02-03 00:36:33 +00:00
Oliver Jowett cf9e3005e8 Add a bladeRF SDR type. 2017-02-03 00:30:42 +00:00
Oliver Jowett 75b221c0e3 Lots of refactoring to move the SDR-type-specific bits out of the
main code and make them optionally buildable.
2017-01-27 17:30:40 +00:00
Oliver Jowett 52464b97c1 Remove internal webserver code entirely. 2016-12-29 18:35:35 +00:00
Oliver Jowett 6336611bc7 Turn on mode A/C if a Beast connection asks for it.
Add a --no-modeac-auto option to disable this.
2016-12-29 17:56:32 +00:00
Oliver Jowett 4bb070be50 Add support for radarcape type 5 (receiver position) messages. 2016-12-27 19:07:10 +00:00
Oliver Jowett cc47718a2d Measure mean signal level in the converters.
Rearrange the meaning of the measured power level to be consistent
with the signal level.
2016-11-12 14:07:58 +00:00
Oliver Jowett d3fad32d5e Merge remote-tracking branch 'upstream/master' into dev 2016-10-14 21:35:31 +01:00
Oliver Jowett f6b1b94c7d Use ncurses for interactive mode (reduces flicker on slow connections a lot!) 2016-10-11 20:37:28 +01:00
Oliver Jowett 25ea6d398b Overhaul mode A/C matching to be much cheaper.
The old matching process which tracked mode A values as pseudo-aircraft
got very, very expensive with a large number of mode A/C messages (and
with lots of single-bit errors, which seems common with a Beast doing
the reception)

Instead just count A/C messages directly into a 4096-entry array (which
is very fast) and periodically scan the mode S aircraft list to see if
we can match anything up (which is fixed overhead + cost proportional
to the number of mode S aircraft)
2016-10-11 18:00:11 +01:00
Oliver Jowett 60f1f3bcb6 Table-ize the Mode A to C conversions, add a Mode C to Mode A conversion function. 2016-10-11 17:57:25 +01:00
Oliver Jowett 85d3ecee62 Add source & address type for Mode A/C 2016-10-11 17:55:02 +01:00
Oliver Jowett 52fe01c860 Track CPR encoding type directly rather than inferring it from airground.
(airground can change even while airborne if SPI/Alert status gets set)
2016-10-02 00:16:29 +01:00
Oliver Jowett 729d91c1ab Fix up address type categorization to match the spec. 2016-09-15 15:30:34 +01:00
Oliver Jowett 50a606d23f Make it clearer that ADDR_ADSB_ICAO includes Mode S too. 2016-09-14 17:19:49 +01:00
Oliver Jowett 8d8443f3dc Track the "best" addrtype we ever saw for an aircraft. 2016-09-14 16:54:00 +01:00
Oliver Jowett 2a4aa29f03 Record the address type details when decoding. 2016-09-14 16:37:07 +01:00
Oliver Jowett 3e08de91ed WIP on decoding operational status & target state messages. 2016-08-29 11:11:04 +01:00
Oliver Jowett 54ca2c7fb2 WIP big rewrite of message decoding / aircraft tracking. 2016-08-27 14:34:14 +01:00
Oliver Jowett 8b8f8d7a40 Use INVALID_ALTITUDE in a few more places. 2016-08-26 21:38:06 +01:00
Oliver Jowett e4ceea33da Disable the internal webserver at build time. 2016-07-10 11:56:31 +01:00
Oliver Jowett 8f82e61f17 Remove the 2MHz demodulator.
Now that the 2.4MHz demodulator does 3A/C there's no real reason
to keep the old demodulator around.
2016-05-31 12:23:58 +01:00
Oliver Jowett b8dc3973d1 Always measure noise power, silently ignore --measure-noise if given. 2016-05-31 11:54:34 +01:00