Commit Graph

177 Commits

Author SHA1 Message Date
Nick Foster
db34eca30e Refactored modes_rx to use a more modular radio interface (radio.py) using a pubsub pattern to formalize the old "outputs" interface I was using. Should make it easier to reuse the radio interface. 2013-05-27 19:50:42 -07:00
Mattias Schäfer
f25d21f505 cpr.set_location lacked self arg 2013-01-22 08:07:46 -08:00
Stephan Ruloff
f4fbd25bb0 Add type 5 squawk ID decoding to parser, fix some SBS-1 outputs. 2013-01-08 17:25:28 -08:00
Nick Foster
fcb06ef25a SBS1 list prune fix 2012-11-04 18:40:45 -08:00
Nick Foster
3cfeb5d705 Merge remote-tracking branch 'jcorgan/pmf2' 2012-10-29 17:56:25 -07:00
Nick Foster
4c986a70a4 Really fix the SBS-1 pruning issue this time. 2012-10-29 09:42:28 -07:00
Johnathan Corgan
7ad09f5b14 Added option for pulse matched filtering
Pulse matched filtering places a boxcar filter upstream of the
averager and preamble detector.  The filter length is equivalent
to the number of samples in one Mode S chip (0.5us).  This
technique enhances operation when using sample rates > 4Msps.

When using --pmf, the threshold may need to be reduced a dB or
two from what would have been optimal without --pmf.

* rx_path.py now takes 'use_pmf', defaults to False

* modes_rx has new CLI option '-p' or '--pmf' to turn on PMF

* modes_gui has new checkbox on Setup tab
2012-10-29 09:37:18 -07:00
Nick Foster
90c8ba5a10 Merge branch 'az_map' 2012-10-29 09:28:30 -07:00
Nick Foster
504f9265b2 Fix for SBS-1 get_aircraft_id list cleanup. 2012-10-29 09:24:31 -07:00
Nick Foster
26f7c779d7 Merge branch 'master' into az_map 2012-10-18 22:00:12 -07:00
Nick Foster
e2be60017a Pull RAC bits correctly in parse_tcas 2012-10-17 23:07:56 -07:00
Nick Foster
b886bd42e9 Fix for TCAS unknown report type. 2012-10-17 23:05:20 -07:00
Nick Foster
3815ee17e1 Fix iterator in TCAS resolution advisories. 2012-10-17 23:03:19 -07:00
Nick Foster
fdaa496b8f Merge branch 'cpr' 2012-10-17 18:29:21 -07:00
Nick Foster
7dba7f4cc3 Add support for type 16 Long Special Surveillance packets. Not tested with real data. 2012-10-17 18:28:39 -07:00
Nick Foster
5f89eba234 Fixed TCAS packet reporting -- the slicer wasn't reporting long pkt type for types 20/21. Hardcoded constant. 2012-10-17 18:01:02 -07:00
Nick Foster
a3f2dec1f9 CPR decoder: Keep a separate list for sfc and air positions to keep them from stepping on each other. 2012-10-17 09:24:15 -07:00
Nick Foster
0b30db353d CPR: surface decoding still exhibits occasional errors when m~=0. Suspect it might actually be a bug in the encoder. 2012-10-17 09:13:10 -07:00
Nick Foster
979a0f4603 Merge branch 'master' into cpr 2012-10-15 12:39:06 -07:00
Johnathan Corgan
62304ff59e Refactor flowgraph into hierarchical block
This commit creates air_modes.rx_path, which is the common portion
of the flowgraph once the sample source and possible resampler are
created.  It takes baseband I/Q and emits Mode-S packets into the
supplied message queue.
2012-10-15 09:27:22 -07:00
Nick Foster
ac9e09893b CPR changes. Fixed a lot of the surface position errors. At least one bug still remains. 2012-10-14 22:57:48 -07:00
Nick Foster
cadbf0eaaa Merge branch 'cpr' into az_map 2012-10-14 18:01:30 -07:00
Nick Foster
3c8c60f57f Removing emitter-centered local decoding from the CPR parser. Using only global decoding. 2012-10-14 18:00:51 -07:00
Nick Foster
77768ebcc6 Small fixes. Need to limit drawPaths() -- it's slow. 2012-10-10 18:44:28 -07:00
Nick Foster
6cb59af3a5 Make better test for az map. 2012-10-10 18:22:35 -07:00
Nick Foster
2b572a2e05 Fix bug in row calculation. There's probably a simpler expression for this. 2012-10-10 18:14:53 -07:00
Nick Foster
07b899ac71 Reinstate random test for az_map.py 2012-10-10 15:49:09 -07:00
Nick Foster
397451bcbd Azimuth map has multiple rings for different altitudes. 2012-10-10 12:51:44 -07:00
Nick Foster
f16ba79573 Merge branch 'master' into az_map 2012-10-10 08:59:37 -07:00
Nick Foster
0f38bfd0d7 Fix SQL for merge-induced breakage. 2012-10-10 08:21:17 -07:00
Nick Foster
05de9c6034 Use more realistic value for max az map range. Should make this configurable. 2012-10-10 08:20:47 -07:00
Nick Foster
cd2cfec730 Azimuth map working. 2012-10-10 08:20:07 -07:00
Nick Foster
dfb48dbe8d Correctly repaint on drawPath (and thus on dataChanged events) 2012-10-10 00:31:00 -07:00
Nick Foster
198d46ac99 Event link between model and azimuth map. 2012-10-10 00:22:13 -07:00
Nick Foster
a9c7e4bcca Add azimuth map widget. Not done, not invoked. 2012-10-09 23:46:02 -07:00
Nick Foster
67b58d7204 Use a common lock for the KMLgen and SQL threads to keep them from stepping on each other when reading the SQLite db 2012-10-09 23:31:02 -07:00
Johnathan Corgan
f18d111e1c Merge branch 'master' into qtapp
Conflicts:
	CMakeLists.txt
	lib/air_modes_preamble.cc
	python/sql.py
2012-10-07 17:54:03 -07:00
Johnathan Corgan
c0d24f12c9 modes_kml: fix case where KML generation thread dies
SQLite does not deal well with concurrency.  Avoid database locked
errors by synchronizing database access using a threading.Lock().
2012-10-06 08:47:49 -07:00
Nick Foster
d88d21f672 Merge branch 'crlf' 2012-10-02 21:39:49 -07:00
Nick Foster
32da8704a9 Fix bug in print on unknown FTC type. 2012-09-17 14:17:16 -07:00
Nick Foster
396ee330c4 Add carriage returns before linefeeds in SBS1 feed. 2012-09-14 09:06:51 -07:00
Nick Foster
d1b69405bf Fix bitrot in modes_print. 2012-09-08 11:02:49 -07:00
Nick Foster
73ca9e373e Merge branch 'master' into qtapp 2012-08-15 20:15:55 -07:00
Al Brown
a6dac30fbf Fix range-ring KML for new Google Earth breakage. 2012-08-15 08:53:05 -07:00
Dennis Real
fa4a8be31b KML generator patch to align the airplane icon w/aircraft heading. 2012-08-06 12:08:01 -07:00
Nick Foster
3d69b7ff80 Use proper scaling for dBfs 2012-07-21 11:26:49 -07:00
Nick Foster
a39b07c372 Merge branch 'parse'
Conflicts:
	python/modes_sql.py
2012-07-21 11:17:23 -07:00
Nick Foster
9b539f8942 Fix for BDS0,9-0/1 2012-07-21 11:12:19 -07:00
Nick Foster
ac8a01646b Add BDS0,9-3 (air course report) to parser/printer. 2012-07-21 11:10:15 -07:00
Nick Foster
1a5bbd95e7 Merge branch 'parse' into qtapp 2012-07-20 22:08:27 -07:00
Nick Foster
e11600ccb4 Take out annoying print, you can put it in for debug 2012-07-20 22:08:13 -07:00
Nick Foster
cceb428929 Merge branch 'parse' into qtapp
Conflicts:
	python/msprint.py
2012-07-20 22:06:11 -07:00
Nick Foster
3c73be4d64 Modifications to TCAS printing and to error handling 2012-07-20 22:05:03 -07:00
Nick Foster
3c506c44ab Don't print alt/ident on type 20 packets yet. 2012-07-20 21:10:14 -07:00
Nick Foster
1c35ccc0e0 How did this go so long without being fixed? Range and bearing were asymptotic due to -- get this -- degree/radian confusion. 2012-07-20 18:49:54 -07:00
Nick Foster
822b05944b Fix for BDS0,9 SQL insertion. 2012-07-20 18:40:30 -07:00
Nick Foster
004500a5d7 Layout and porting the SQL fix over from master. 2012-07-18 17:11:19 -07:00
Nick Foster
07c6c051bd Commit db on init to ensure file exists when KML goes looking for it 2012-07-18 16:27:24 -07:00
Nick Foster
3163fca47a Renamed everything in python/ for consistent namespace 2012-07-16 20:59:37 -07:00
Nick Foster
5442cba206 Split out GUI data model and views into modes_gui_model.py 2012-07-16 19:10:23 -07:00
Nick Foster
df705ef64f Merge branch 'parse' into qtapp 2012-07-16 15:24:56 -07:00
Nick Foster
7388a8e910 Merge branch 'master' into parse 2012-07-16 15:24:35 -07:00
Nick Foster
f2212a9f68 Merge branch 'parse' into qtapp 2012-07-16 14:36:52 -07:00
Nick Foster
c866dc9d31 How did this go so long without being fixed? Range and bearing were asymptotic due to -- get this -- degree/radian confusion. 2012-07-16 14:35:43 -07:00
Nick Foster
4fbda15afc Merge branch 'parse' into qtapp
Conflicts:
	python/modes_parse.py
2012-07-16 09:40:05 -07:00
Nick Foster
c2129e0eab Default RTL gain of 35 and parser catches negative shifts generated by invalid packets. 2012-07-16 09:36:15 -07:00
Nick Foster
4750d20044 Parser returns objects for subfields instead of flat data. Lets you use get_type to resolve BDS registers, etc.
Printer takes advantage of this. Now printing BDS reg instead of "subtype".
2012-07-16 09:27:18 -07:00
Nick Foster
cb4c91aee1 Altitude now taken from types 4, 5, 20 short replies as well, for ADS-B-equipped aircraft. Bearing/heading updated real-time.
TODO: figure out how to filter aircraft list for ADS-B-equipped aircraft only
2012-07-15 12:59:41 -07:00
Nick Foster
70b099a05e Revert SQL changes and use a separate, non-db datamodel for the dashboard display. 2012-07-13 09:43:22 -07:00
Nick Foster
0a1d863f5f SQL parser modified to use flat aircraft table. This breaks KML horribly and eventually you should integrate the flat table into the GUI app and revert to the old method for the KML generator. 2012-07-12 00:02:11 -07:00
Nick Foster
5c0ccaa833 Split out the data model because I'm using a flat SQL table for the dashboard now. Most everything hooked up. 2012-07-11 19:18:40 -07:00
Nick Foster
ed006f71b5 I'm pretty sure custom painting should be handled with delegates and not a subclassed QListView 2012-07-10 09:27:36 -07:00
Nick Foster
2eb7426688 Using QtSql instead of sqlite3 to access data -- might change this back but trying to set up a good data model.
Also subclassed QListView so we can eventually implement fading by age in the list view.
2012-07-10 09:17:53 -07:00
Nick Foster
8439e0e5f3 Parser and error-handling changes. 2012-07-07 11:04:49 -07:00
Nick Foster
b4cafe0384 Setting up a model-view display for the airframe list. 2012-07-05 23:52:00 -07:00
Nick Foster
a853077bc2 Live data display works. 2012-07-03 19:21:42 -07:00
Nick Foster
113c23b634 Everything is basically in place for at least live text. For some reason spawning the flowgraph is broken. 2012-07-03 09:40:26 -07:00
Nick Foster
fe6aa0c6de Fix error handling for data construct on init. 2012-07-02 07:17:21 -07:00
Nick Foster
19436349dc Parser is even bitchin'er. Now flattens the dict on init recursively so fields are automatically populated. 2012-06-30 14:31:20 -07:00
Nick Foster
57f7bc84fc Fixing TCAS reports. Types 20 and 21 still bomb because apparently MB field is optional -- the only type 20s I see are short packets. 2012-06-29 09:32:58 -07:00
Nick Foster
28824cb0b2 New parser works. TCAS untested. Extra info in print. Fixed ground_track printing error. Surface reports suppressed due to possible CPR bug. Not all code paths tested. 2012-06-26 23:27:58 -07:00
Nick Foster
b05bea9618 Parser and printer for type 20 and TCAS info 2012-06-26 19:25:31 -07:00
Nick Foster
cf8f429900 Cleaned up the print module, minor changes to parse and FGFS module. Untested. 2012-06-26 15:37:20 -07:00
Nick Foster
067556cbdd Fields eliminated, type includes field data. Subfields also gone. 2012-06-26 09:46:21 -07:00
Nick Foster
0a1c49f1fc Check for unfilled SBS1 message before sending. 2012-06-26 07:46:32 -07:00
Nick Foster
6a76ec8250 Temp commit before changing new parser to eliminate "fields" 2012-06-25 23:09:11 -07:00
Nick Foster
13c98cada7 Fix SBS-1 output module (hopefully). 2012-06-25 17:33:40 -07:00
Nick Foster
e174091763 Temp commit 2012-06-25 17:25:57 -07:00
Nick Foster
3d2920b56a Flightgear interface for new parser, minus BDS0,9 2012-06-23 19:29:51 -07:00
Nick Foster
f928669094 Found the no handler thing 2012-06-23 17:55:17 -07:00
Nick Foster
03b41f14be It works, still some bugs. 2012-06-23 17:26:47 -07:00
Nick Foster
b7cc18c41f More parser work, type 17 done except for BDS0,9 velocity subtypes 2012-06-23 14:25:26 -07:00
Nick Foster
a45531b15c Additional work toward new parser. Added fields for extended squitter. 2012-06-22 17:28:55 -07:00
Nick Foster
ba153e52ed Completely rewrote parser, everything is broken 2012-06-21 23:45:49 -07:00
Nick Foster
0494eb5b18 Extended test case for CPR calculator to use different odd/even locations 2012-06-20 18:57:01 -07:00
Nick Foster
b29d049d7d Raise no handler exception in SBS-1 when there's no handler for messages. 2012-06-20 11:53:28 -07:00
Nick Foster
c985bd4e89 fix SQL bug in new exception handling 2012-06-19 23:12:57 -07:00
Nick Foster
66171b62cc Implemented metric altitude decoding but left it commented and throwing an exception by default. 2012-06-19 19:17:33 -07:00
Nick Foster
db62aaf399 First stab at using real exception handling instead of returning [None] everywhere 2012-06-19 18:49:42 -07:00
Nick Foster
e3ac472a1a Move multilateration test code into mlat.py 2012-06-18 18:43:53 -07:00