-Separates USB timeout event processing to a dedicated thread
-Updates USB transfer buffer processor to better detect errors and auto-restart on error (max 3 times)
-Updates Tuner to add an error state and SourceManager to not select tuners with an error state
-Updates ChannelProcessingManager to auto-shutdown channels sourced from tuners set with error state
-Improves logging of USB related errors.
* Initial work on add support for rotating control channels.
* Creates multiple frequency editor control.
* Updates channel source editor to allow user to select multi-frequency
configuration and add multiple frequencies.
* Adds full support for rotating control channels to the P25 channelizer.
Users define multiple frequencies in the channel source configuration.
The decoder monitors the state of the channel for a CONTROL state. If
the state does not stay in the CONTROL state for a user-specified delay
value, then the decoder rotates to the next frequency in the list. This
behavior continues until the decoder state once again changes to CONTROL.
This is NOT a 'scanner' feature.
and auto-correction for R820T tuners.
-Updated TunerModel and TunerViewPanel to add 2 new columns to
display the current tuner's PPM setting and (when available) the
measured frequency error averaged over 5 second intervals provided by
certain decoders (e.g. P25 C4FM and LSM). Frequency error value from
P25 decoders is provided from the Costas Loop PLL once 2 or more P25
message sync events have been observed in a short period.
-Updated R820T tuner to auto-correct PPM when measured frequency error
exceeds the +/- 0.4PPM threshold for a period of 30 seconds or more.
Feature can be enabled/disabled by user in the tuner editor panel.
Resolved several issues with P25 C4FM/LSM decoders that was impacting
performance related to channel misalignment from tuner PPM offsets.
sample rates.
Resolves issue in PolyphaseChannelManager responding to sample rate
changes in the tuner. The manager now recreates the channelizer when
needed if the tuner's sample rate has changed since the last time the
channelizer was used.
Updates the Tuner selection view to reflect tuner lock state. Updates
the tuner editors to enable/disable frequency controller and sample
rate controls according to the tuner's lock state.
complex buffer listeners. Removes complex buffer broadcast support from
the source manager and renames it to channel source manager to convey
that it's only responsible for providing channels from the tuner.
center frequency each time we allocate a new DDC/channel. Adds
support for broadcasting channel count change source events so that the
tuner can accurately convey sourced channel counts via tuner events.
Completes changeover of polyphase channel manager to support arbitrary
bandwidth channels. The new approach provides greater compatibility
across any tuner sample rates. Likewise, all decoders will have to be
updated to adapt to any channel sample rate, although channel bandwidths
will be at least 12.5 kHz and likely no more than 25.0 kHz, with a 2x
oversampling that produces channel sample rates in range 25.0 - 50.0
kHz.