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