Commit Graph

591 Commits

Author SHA1 Message Date
denny
6d1e7a78cf Work in progress - added ability to add new alias identifiers and to
auto save alias/identifier changes.
2016-02-29 20:14:52 -05:00
denny
d1ea8656c4 Resolved error when clicking clear on an empty message model. 2016-02-29 19:16:41 -05:00
denny
e31b6adf52 Updated help text display for each of the alias identifier editors. 2016-02-28 10:06:28 -05:00
denny
63cea60c42 Merges master CF2C0CA, EEAD22F, 5F2D8C8, 22D3871, and 6F2A7E8 - updates
libusb transfer processing and shutdown/cancel management of transfers
in progress.
2016-02-27 09:45:47 -05:00
denny
ece555dead Merges master 1550c62 - channel state panel null checking 2016-02-27 09:04:13 -05:00
denny
15716d1270 merges master 455e452 - removes logging from dft processor about buffer
overflows
2016-02-27 09:02:17 -05:00
denny
8d10b502ab Merges master ca8406b - DFT processor queue backing up 2016-02-27 09:01:07 -05:00
denny
62851351a4 Merges master 399d164 - default tuner configurations issue #57 2016-02-27 08:58:47 -05:00
denny
daf2b58cf2 Updates build to Version 0.2.0 Beta 8 v0.2.0-beta.8 2016-02-27 06:21:51 -05:00
denny
cf2c0ca07d Resolves significant memory usage issue - updates Airspy and HackRF with
the recent changes applied to RTL2832 Tuner controller for processing of
libusb transfer buffers.
2016-02-27 06:19:35 -05:00
denny
eead22ffad Issue #59 - more changes to improve handling of transfer buffers between
tuner start/stop iterations.
2016-02-26 14:52:31 -05:00
denny
1550c62782 Adds null checking to channel state panel. 2016-02-26 14:37:12 -05:00
denny
5f2d8c8fe6 Issue #59 - reorganizes management of the libusb transfers queue to
better handle processing and shutdowns.

-Reuses transfers between tuner start/stop invocations

-Moves libusb transfer status direct byte buffer allocation out of
buffer processing thread and reuses it, saving a lot of memory
allocations over time.
2016-02-26 14:35:34 -05:00
denny
22d3871d0b Restructures transfer buffer handling to better handle shutdown and
canceling of transfers across multiple threads.
2016-02-26 13:28:59 -05:00
denny
455e45269c Issue #58 - DFT processor queue - removed logging that indicates the
queue is full and samples are being purged.
2016-02-26 10:08:52 -05:00
denny
ca8406bdc0 Resolves #58 - DFT processor sample queue may fill up over time causing
the spectral display to be slow to reflect changes to tuner settings.

Changed the max size of the sample queue based on the highest rate tuner
sample rate 10 MHz (airspy) and the lowest available spectral update
frame rate (12).  Sized the buffer queue based on the maximum number of
buffers that should be available per DFT processing iteration.  If the
queue backs up, new buffers will be discarded until the DFT processor
consumes the queue and catches up.
2016-02-26 06:35:03 -05:00
denny
399d164bd0 Resolves #57 - default tuner configuration per tuner type was being
shared across multiple tuners of the same type, unless the user created
a new tuner configuration for each tuner. 

Updated code to create a default tuner configuration based on the tuner
type, but name the configuration as 'Default-UNIQUETUNERID', so that any
changes to that uniquely identified tuner will persist across sessions.

Note: this does not avoid the situation where multiple tuners of the
same type are all using the same default serial number (e.g. 0000001).
In this case, they will all still share the same configuraiton.  User
must change the serial number of the dongle in order for it to be
uniquely identifiable, so that we can correctly lookup the configuration
for the specific tuner.
2016-02-26 06:07:21 -05:00
denny
6f2a7e89a9 Resolves issue with RTL2832 Tuner cancelling transfer buffers that
haven't yet been initialized.  This occurs when there is a channel
allocated from the tuner that is the first/only listener and then is
immediately released.  Some of the buffers are in motion and the others
simply haven't yet been initialized.
2016-02-22 20:49:20 -05:00
denny
a807ff5c07 Resolves issue with RTL2832 tuner where we attempt to cancel transfers
that have not yet been initialized.
2016-02-22 20:47:40 -05:00
denny
e5004f9fa6 Work in progress - updates to alias and alias ID editors. 2016-02-21 20:02:27 -05:00
denny
bd09911e68 Alias updates to allow JAXB persistence 2016-02-21 05:45:54 -05:00
denny
ca2b12b868 Merges master 88d3088 2016-02-20 17:56:28 -05:00
denny
7ff9e9a7ce Merges master 894ebeb - patch to audio playback where audio output
channels were locking up after a period of time
2016-02-20 17:54:35 -05:00
denny
7da541ed06 Merges master a7da60c - TDU message text 2016-02-20 17:46:38 -05:00
denny
d90684dbdc Merges master be7ab87 patch to audio metadata 2016-02-20 17:45:18 -05:00
denny
9286fdf42d Merges cdcc487 from master 2016-02-20 17:42:07 -05:00
denny
b821588e54 Removes debug message from trafficchannelmanager 2016-02-20 17:20:15 -05:00
denny
62aca27e66 Resolves issue with resetting audio metadata between traffic channel
reuse.
v0.2.0-beta.7
2016-02-20 10:26:50 -05:00
denny
cdcc487095 Resolves potential threading issue in tuner channel source. 2016-02-20 10:21:47 -05:00
denny
d5b6589e36 Updates build to 0.2.0 beta 7 2016-02-20 10:05:22 -05:00
denny
be7ab871d1 Resolves issue with audio metadata updates that was causing the audio
playback panel to not detect changes in FROM/TO values for the current
audio playback.
2016-02-20 09:55:39 -05:00
denny
294a830aaf Updates TDU message decoded message text. 2016-02-20 08:54:02 -05:00
denny
a7da60cd27 Resolves issue with audio playback where audio playback stops working.
Potential existed for the audio output class to become unsynchronized
with the underlying source data line and attempt to perform a blocking
write to the data line when the data line doesn't have the capacity to
accept the full buffer, and the data line is not started.  Thus,
playback could potentially stay in a persitent blocked state.

Refactored Mono and Stereo audio output implementations to push the
audio buffer queue processing into the parent abstract class.

AudioManager was updated to remove the last time active timestamp out 
of the audio manager and down into the audio output to remove duplicate
timestamp accounting.
2016-02-20 08:53:09 -05:00
denny
894ebeb040 Removes logging of C4FM filter coefficients. 2016-02-19 21:03:34 -05:00
denny
682fe0c779 Updates linux launch script to allow clean exit on program exit. 2016-02-15 21:06:20 -05:00
denny
62c5265bce Updates launch script to allow clean exit on program termination. 2016-02-15 21:05:08 -05:00
denny
1687ca2c4b Updated data state default color setting 2016-02-15 20:29:46 -05:00
denny
5ee4a48ab3 Resolved issue with duplicate properties saves 2016-02-15 20:23:01 -05:00
denny
c8328b3eff Channel editor and sub editors updates. 2016-02-15 20:12:23 -05:00
denny
691e4c3383 merges master commit 94d85f6 to persist FFT size. 2016-02-15 20:11:53 -05:00
denny
5573b9a9fb Changes audio timeout from 2 seconds to 1 2016-02-15 16:01:06 -05:00
denny
f7f6c2fc3e Merges changes from master branch to resolve issue with CPU and memory
and constraints on scheduled thread pool saturation.  Adds a new
scheduled thread pool for each processing chain that the components in
the chain can share, versus the single shared pool exposed by the
threadpoolmanager class.
2016-02-15 15:47:14 -05:00
denny
88d3088ebc Resolves issue with concurrent access of channel panels in channel list 2016-02-15 14:58:07 -05:00
denny
dc3390460a Updates build to beta.6 v0.2.0-beta.6 2016-02-15 10:01:11 -05:00
denny
8db226cd7b Adds broadcasting of unknown P25 message types. If a P25 message passes
the NID crc check but uses an unrecognized data unit id, it will now be
broadcast as NID:UNKN, but allows for detection of new DUID types when
we have a large number of occurances of unknonwn duid types.
2016-02-15 10:00:29 -05:00
denny
b7a54598b1 Changes audio panel call timeout from 2 seconds to 1 second in order to
increase audio output cycle time.
2016-02-15 09:59:04 -05:00
denny
dd22397f75 Resolves issue with application memory growth and thread pool
saturation.

Each tunerchannelsource was sharing a thread pool and as the processing
load increased, the thread pool was not expanding and the processing
tasks were backing up, causing the buffers to grow with unprocessed
data.

Changed so that each tuner channel source is handed a thread pool to use
for processing incoming sample data.  Processing chain maintains the
thread pool and starts the channel source.  This allows traffic channels
to reuse the thread pool across multiple iterations.
2016-02-15 09:46:33 -05:00
denny
e2a0451bfb Resolves issue with scheduled thread pool overtasking. Removes tuner
channel source decimation processing over to its own thread pool.
2016-02-15 08:42:29 -05:00
denny
e7d3713791 Removes message broadcaster from Decoder abstract class -- processing
chain has a message broadcaster built in, so the decoder's broadcaster
is redundant.  Changes Decoder(s) to only have a single registered
message listener (ie processing chain)
2016-02-15 07:32:26 -05:00
denny
2c6e35c739 Work in progress.
-Removed channel collection panel since panels will only have 1 channel
now
-Resolved issue with channel list and channel selection events
-Fixed some of the classes from the rebase to master branch
2016-02-15 07:10:41 -05:00