Commit Graph

134 Commits

Author SHA1 Message Date
Denny
be62ae0459 Resolves #249 - removes the state monitor runnable from the channel
state and replaces it with a processing chain heartbeat that is generated
by the sample source.

Previously, the state monitor was running on a separate thread and this
was causing multi-threading issues.  With this update, all channel state
operations (and all module operations) occur on the source's buffer
processing thread.
2017-07-22 05:42:13 -04:00
Denny
d5ad3f807d Resolves issue where the tuner's buffer processor is logging that an overflow state has been cleared, caused by a clearing of the buffer when the tuner is being shutdown because there are no more channel consumers registered on the tuner.
Tweaked buffer size limits and buffer handling to attempt to avoid overflow situations in the first place.

Resolved an issue where the tuner processor was not deregistering correctly from the LIBUSB tuner processor during tuner shutdown.
2017-07-09 08:21:07 -04:00
Denny
1aa85a86ca Resolves issue with channel frequency correction events not being broadcast within the processing chain and rendering in the spectral display. 2017-03-11 10:16:08 -05:00
Denny
a4a339b505 Resolves issue with FCD2 tuner frequency. 2017-02-25 14:58:51 -05:00
Denny
119370c46e Resolves issue with FCD2 tuner frequency. 2017-02-25 14:57:25 -05:00
Denny
6a340050c6 #165 - cleanup of logging and comments in TunerChannelSource 2017-02-10 06:41:45 -05:00
Denny
183eb2f7c7 Resolves #165 - P25 decoding channel stops arbitrarily and never recovers.
Issue identified with Patch Group management and circular dependencies that can develop because of stale patch groups.  Refactored all patch group management into a new PatchGroupManager.  Patch groups are now automatically deleted if we don't receive any update messages within 5 seconds.  The PatchGroupAlias was also updated to not roll-up attributes from subordinate patched group aliases when those aliases are also patch group aliases -- this eliminates the circular dependency chaining.

Added IOverflowListener interface and updated Sources to support overflow listeners.  Updated ChannelState to register as an overflow listener so that it can visually depict to the user when the channel enters/exits source overflow state.  Added new color pattern for OVERFLOW with yellow text on red.
2017-02-10 06:36:57 -05:00
Denny
767b302ed7 Adds additional unresolved address exception handler to metadata updater 2017-02-04 07:32:22 -05:00
Denny
74c15d530b Resolves #164 - USB time out while processing buffer transfers. Decreases periodicity of processing the LibUsb timeout handler from 9 milliseconds to 5 milliseconds to reduce chance that buffers are not being serviced in time. 2017-01-29 11:02:12 -05:00
Denny
8215b78a43 Resolves #161 - E4000 tuner error. Tweaks settings in the USB transfer processor to improve latency in IQ buffer handling. 2017-01-29 09:07:48 -05:00
Denny
74aab2cc72 Expanded error message for when drivers are not installed on user machine for RTL2832. 2017-01-28 20:04:20 -05:00
Denny
7e4acc568c Resolves #155 - adds usb endpoint clear halt when attempting to resubmit a transferred buffer that causes a usb pipe error. 2017-01-28 19:33:52 -05:00
Denny
960bf975d9 Resolves #155 - LIBUSB_PIPE_ERROR when trying to start R820T tuner 2017-01-28 17:33:59 -05:00
Denny
a302d098de 126 - Significant improvement in processor and memory utilization. Refactors all USB tuner sample processing with a new USBTransferProcessor class. LibUSB transfer timeout processing is now consolidated under the TunerManager and tuners register with this singleton to auto-start or auto-stop USB bulk transfer processing. Resolves long-standing issue impacting multi-tuner use where the second and subsequent tuners may have been routinely starved for LibUSB processing time under heavy-loading. All tuner buffer threaded processing is now handled as runnables in the scheduled thread pool, eliminating tuner-dedicated processing threads. Added tuner buffer size management to prevent memory blow-out when down-stream processing is either lagging or impacted by java garbage collection operations. Both tuners and individual DDC channels now have bounded sample buffer queues that automatically enter and exit overflow mode when predefined max/reset thresholds are met. When any queue goes into overflow mode, sample buffers are simply dropped in favor of preserving program/memory stability. 2017-01-28 09:08:11 -05:00
Denny
6e94d9ce51 #108 [WIP] Created new ThreadPool class with a static ScheduledThreadExecutor that is now shared by all components. Removed ThreadPoolManager from all classes. Consolidating into 1 pool seems to have reduced CPU usage by ~15-20%. Overall memory usage is also reduced. 2017-01-22 09:33:47 -05:00
Denny
ce47d2545d #90 [WIP] GUI is functioning again and the new channels table is showing calls and the audio panel is now horizontal. Lots of gui tweaks still to do. 2017-01-19 22:10:49 -05:00
Denny
2268879cec #102 resolves typo in tooltip for R820T Tuner Editor 2017-01-13 06:03:20 -05:00
Denny
3af4b953f4 Changes internal audio sample rate from 48 kHz down to 8 kHz. Updates the P25 audio module to output 8 kHz audio. Updates the audio recorder to record at 8 kHz rate.
Note: required updated JMBE 0.3.3 library which supports 8 kHz audio output sample rate.
2016-08-19 21:09:39 -04:00
Denny
b33c0359ef Resolves issue with 10 MHz sample rate discovery in Airspy R0/R2 2016-07-12 13:44:17 +00:00
Denny
078a6fddce Closes #71 - frequency controller throws exception when exceeding min/max tuning limits of a tuner.
Updated code to show dialog to user whenever the tuning limit has been exceeded.  Added new InvalidFrequencyException that includes the requested invalid frequency and the valid frequency limit that was exceeded
2016-06-04 08:21:28 -04:00
Denny
bf5ded53e2 Code cleanup 2016-06-01 04:15:16 -04:00
Denny
3c53f864c4 Closes #70 - airspy mini sample rates.
Change code to no longer assume that 10 MHz is an available default sample rate.  The mini is only capable of 6 and 3 MHz.

Note: only the 6 MHz sample rate option should be used at this time.  6 MHz can be decimated to 48 kHz using an integer decimator.  sdrtrunk doesn't support the 3 MHz option, because it can't decimate that rate to 48 kHz until the new channelizer is developed.
2016-05-30 08:58:00 -04:00
denny
3231e9828b Resolves #64 Persist last tuned frequency to tuner configurations
Task-Url: http://github.com/DSheirer/sdrtrunk/issues/issue/64
2016-04-05 19:30:09 -04:00
Denny Sheirer
5672182609 Fixed type in R820T tuner editor 2016-04-02 08:15:09 -04:00
denny
c3d52ff86e Merges #34 Major redesign of Tuner, Channel and Alias management.
Changes to model, view and controller components and updates all gui
editors.  Removes the configuration panel and tree and replaces with 3
new panels.  Updates playlist.xml to a new playlist_v2.xml format.
2016-04-01 08:23:49 -04:00
denny
64fee2c718 wip #34 - testing and validating changes and testing decoding. 2016-03-29 20:00:23 -04:00
denny
55443b42f3 wip #34 - resolved issue with airspy correctly loading stored tuner
configuration values.  Updated remaining tuner editors to set loading
flag when loading tuner configuration and turn off after loading is
complete.
2016-03-27 07:25:17 -04:00
denny
112083a22f wip #34 - finished updating all channel configuration editors and
completed preliminary functional testing.
2016-03-25 14:26:08 -04:00
denny
f2b189ee2b Adds support to TunerManager for the RAD1O (HackRF compatible) tuner. 2016-03-21 18:39:59 -04:00
denny
3f0581dad1 Adds support for Munich hackerspace Rad1o tuner - a HackRF compatible
tuner.
2016-03-21 18:33:56 -04:00
denny
d93f497b33 wip #34 - reformatting the channel configuration editors. 2016-03-20 19:35:45 -04:00
denny
f32c520cab wip #34 - updates FCD Pro tuner and completes work on tuners, tuner
configurations and tuner editors.
2016-03-20 08:13:28 -04:00
denny
13617e8fe2 wip #34 updates funcube dongle pro plus tuner editor 2016-03-20 07:22:18 -04:00
denny
4adffbdca7 wip #34 adds sort ordering to tuner table 2016-03-20 06:40:25 -04:00
denny
7a5dc5ad58 wip: #34 Updates the HackRF tuner editor and a few other tuner
config/editor items
2016-03-20 06:27:53 -04:00
denny
d3e8816bb4 wip: #34 Adds the E4000 tuner editor and updates a few other tuner
editor pieces.
2016-03-20 05:30:16 -04:00
denny
6bb417f69a wip: #34 - finishes the airspy tuner editor panel and adds tuner info
button to the r820t tuner editor to view serial number and misc info.
2016-03-19 14:49:55 -04:00
denny
a4d69ce0aa wip #34 - final edits to R820T tuner configuration editor and introduced
frequency correction to the airspy tuner configuration.
2016-03-18 10:59:36 -04:00
denny
45f0e09d5a wip #34 - updated tuner configurations to include unique id and assigned
flag, so that we can get rid of tuner configuration assignment objects.
2016-03-17 22:01:31 -04:00
denny
f518c15a06 wip #34
34: Redesign Channel Management 

Task-Url: http://github.com/DSheirer/sdrtrunk/issues/issue/34
2016-03-17 21:16:21 -04:00
denny
6eade2b7ea wip: #34 2016-03-13 20:06:26 -04:00
denny
86816228c2 wip #34 - adds enable/disable to tuner editor components and frequency
control
2016-03-13 08:43:55 -04:00
denny
0605760fcd wip #34 - removed some wrapper methods from tuner since the tuner
controller is now exposed (frequency, sample rate, channel count, etc)
2016-03-13 07:38:29 -04:00
denny
415f95ec89 wip #34: refactored tuners to take a tuner controller as an argument.
Removed frequency change listener framework from tuner so that the tuner
controller handles all frequency change interaction.

Updated tuner view to allow selecting tuners for main spectral display
and/or launching a new spectral display by clicking in the tuner table
cell.
2016-03-13 07:09:26 -04:00
denny
1078bdc4fd wip: #34 - adds tuner spectral display manager to handle requests to
show a tuner in the main spectral display or to show the tuner in a new
spectral display
2016-03-12 13:11:06 -05:00
denny
218eeb1848 WIP #34 - more work on tuner model and view. Includes new tuner
configuration and tuner configuration assignment editors.  Beginning of
tuner editor panel rework.   Removes most of the remaining JTree
configuration pieces.  Updates the settings manager to load and save
tuners and refactors all of the tuner configuration management out into
the tuner configuration model.
2016-03-12 12:54:48 -05:00
denny
9d4afb8c1f WIP #34 - updates tuners and tuner model to provide details on
frequency, sample rate, sourced channels, and spectral display in the
tuner view tab.
2016-03-11 07:16:29 -05:00
denny
6fa3089bc9 WIP #34 - adds tuner model and view tab, preparing to remove the
configuration panel from the controller view.
2016-03-07 20:43:43 -05:00
denny
2394ac2fa9 WIP #34: added channel map manager and new editor window. Removed a
number of unused classes.  Removed playlist manager from a number of
classes and replaced with the alias, channel and channel map models.
Updated playlist manager to no longer retain a playlist except for when
loading to models or when storing from models.  Extracted version 1 to
version 2 playlist conversion and changed playlist manager to keep the
original version 1 playlist and create a new version 2 (playlist_v2.xml)
file.  On startup, try to load a v2, and if not, look for a v1 to
convert.  Otherwise, don't create a playlist and one will be created
once the user adds items to the models.
2016-03-06 07:48:14 -05:00
denny
8aebdd1c26 Changes default channel source to be a tuner. 2016-03-05 08:25:22 -05:00