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
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
functionality so that the editor starts up without a channel displayed
and as each channel row is selected in the channels table, the editor is
updated with the channel configuration.
Likewise, the channel editor is now a channel event listener on the
channel model and will maintain channel state if the user changes
channel configuration in any of the external channel controllers like
the spectral display or the channel list.