Commit Graph
64 Commits
Author SHA1 Message Date
Nick Foster ba55d24e92 Don't use commit() on each SQL insert, it makes things terrislow. 2013-06-03 09:07:36 -04:00
Nick Foster b71c978e27 New universal pubsub interface in zmq_socket.py. Needs more work. 2013-06-03 08:38:26 -04:00
Nick Foster 33874893b7 Better exception handling in sql.py 2013-05-30 17:17:15 -04:00
Nick Foster 4216b96262 Threading fixes for ZMQ work. Also moved radio optparse options into radio.py. 2013-05-30 00:58:03 -07:00
Nick Foster 4d569f9112 In progress, temp commit. Have removed pubsub interface in favor of 0MQ sockets -- this gets us free message-passing across network or local host. 2013-05-29 14:18:15 -07:00
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
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 26f7c779d7 Merge branch 'master' into az_map 2012-10-18 22:00:12 -07:00
Nick Foster 1adbf81950 Added get_dupes.py (not installed with apps). Pipe modes_rx output through get_dupes.py to find number of spurious replies. Intended to evaluate demodulator changes. 2012-10-18 12:22:52 -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 cadbf0eaaa Merge branch 'cpr' into az_map 2012-10-14 18:01:30 -07:00
Nick Foster 85da74b43a Fix preamble/slicer dB numbers. Was using power ratios for voltages (2.0 instead of 1.414 for 3dB, etc.). No real performance change.
Fix suggested by Denis Gapotchenko.
2012-10-13 20:55:45 -07:00
Nick Foster 6e6150b051 Limit scrollback buffer size. 2012-10-11 23:37:26 -07:00
Nick Foster 387daa1b1e Merge branch 'master' into az_map 2012-10-10 09:01:22 -07:00
Nick Foster 628003fbe6 Better cleanup in on_quit. Still probably needs a revisit. 2012-10-10 09:00:54 -07:00
Nick Foster cd2cfec730 Azimuth map working. 2012-10-10 08:20:07 -07:00
Nick Foster 24cd839f56 Put deprecate warning in for old executable name. 2012-10-09 23:44:16 -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
Nick Foster d86e568ac2 Decouple data output thread from live data display by using a signal to the main window instead of directly calling append(). 2012-10-08 18:44:52 -07:00
Nick Foster 4b70c5a0b0 Up the sample rate for RTL dongles to 3.2Msps. Seems to enjoy 3.2Msps just fine, and the Mode S RX works *much* better with the extra bandwidth. 2012-08-23 19:24:06 -07:00
Nick Foster 1d2ee71121 Fixes for dumb GUI mistakes 2012-07-18 18:49:13 -07:00
Nick Foster 10f96bf35d Merge branch 'master' into qtapp 2012-07-17 14:31:52 -07:00
Antoine Sirinelli 6b9006c339 Allow specification of source constructor arguments via -D/--args 2012-07-17 14:30:40 -07:00
Nick Foster b26012f5ad Real-time RSSI update and graceful flowgraph closure on exit. 2012-07-16 22:43:02 -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 373a6f04ee New feature: reports per second widget. Lets you know you're actively receiving things. 2012-07-16 18:58:22 -07:00
Nick Foster dbab4f0142 Don't populate lat/lon by default 2012-07-16 10:49:54 -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 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 923651f69a Heading widget updates correctly. 2012-07-14 22:24:18 -07:00
Nick Foster 86a7bbbb2a Selections are persistent when rows inserted, rows automatically prune when 60s w/o reply 2012-07-14 21:38:06 -07:00
Nick Foster 372e925277 Well, the ICAO lineedit works in hex now, but I don't like the way it went in. 2012-07-14 15:43:09 -07:00
Nick Foster 20dd8457ea Dashboard mostly works. ICAO view now prints ident if available.
TODO:
draw selection in list view delegate
maintain selection on insert rows (emit beginInsertRows/endInsertRows)
fix heading widget so it updates correctly (something in the DataWidgetMapper that you aren't doing)
2012-07-14 14:44:36 -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 19b7061247 Other fields entered. 2012-07-11 12:55:30 -07:00
Nick Foster 96db9a9608 today nick learns about the QDataWidgetMapper, which solves all his problems 2012-07-11 09:15:05 -07:00
Nick Foster 855535644f Using a delegate instead for coloring. Text color works but we don't get nice highlighting. Wish we could alter the painter and use the default paint(). 2012-07-10 16:08:24 -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 f2f344538a Added in speed/vs fetching. Need to figure out your datamodel. 2012-07-07 11:32:32 -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 8cd551689b Forgot to modify UI import in GUI app 2012-07-05 11:10:27 -07:00
Nick Foster ec70a90bd5 CMake magic to find PyQt4 and build the main GUI from .ui. Also renamed uhd_modes.py -> modes_rx, and the GUI app -> modes_gui 2012-07-05 11:00:52 -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