so that the modules are reset after they are shut down, in order to
prepare for processing chain reuse.
Previously, the modules were reset upon startup, but after any traffic
channel metadata had already been transferred to the channel state,
causing the metadata to be lost and allowing initial audio packets to
stream without any metadata and related streaming/monitoring rules.
only update the center frequency when needed and to place the set of
decoding channels adjacent to the right side of the tuner's center
frequency when the complete set of channels fit into the usable half
bandwidth of the tuner.
Adds 500 ms delay to initial registering for samples from all tuners to
feed the spectral display/waterfall. The existing approach of immediately
registering for samples was causing the airspy tuner to lockup
aperiodically. Investigation via debugger didn't show any application
thread locks ... usb master processor was continuing to service libusb
timeouts. Unable to debug internal airspy processes. Adding the delay
to startup seems to be a usable solution.
Reverts PLL gain values to version 0.3.4beta2 values to restore P25
decoder performance.
This change in conjuction with recent channel sample rate change should
restore P25 channel decoding to comparable levels from 0.3.4b2.
Updates decoder types to specify channel sample rate and pass/stop
frequencies for requested channels. Updates tuner channel source
managers to accept a channel specification for channels that are
allocated.
channel manager so that channel source requests can have a start
timestamp specified and the channel can be preloaded with samples from
the delay buffer. If no timestamp is specified, current time is assumed.
This feature requires corresponding updates to any decoder that wishes
to implement the timestamped sample preloading functionality.
reusable byte buffers out to the processing chain. This enables the
processing chain to broadcast these buffers back to the decoder for
message assembly and to any running binary recorder.
Updated P25Decoder to be a reusable byte buffer listener. The decoder
will now pass reusable byte buffers down to the message framer for
message processing. This should make the code more efficient since it
can process byte arrays versus handling each individual dibit.
The P25MessageFramer has been updated to be a listener of reusable byte
buffers instead of Dibits, but the actual processing of byte arrays
has to be coded.
Added max recording size to the binary recorder so that it cycles at
500 kB max file size.
buffers. None of the decoders currently support this yet, but the P25
will be updated to provide bitstream output for recording.
Renames the ReusableBuffer class to ReusableFloatBuffer for
consistency.
actively decoding, but no call or data is being transmitted. This is
primarily used for P25 channels when TDU Link Control messages are
being transmitted in between voice or data transmissions on a channel.
Updated several of the P25 decoder state message processing sections to
keep the channel state UI updated with current call identifiers and
states.
Hard-coded channel state colors to remove inefficiency in the way that
channel state coloration was being handled.
the lost connection timeout from default of 60 seconds down to 5 seconds
so that the connection state updates more quickly. Removed complex
error handling and replaced with a simpler approach to catch an error
and disconnect and then attempt a reconnect.
Added new 'Network Unavailable' error state that detects when the network
connection is unavaialable.
Updated the icecast metadata updater to close the TCP session after
successfully writing metadata to the socket.
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.
Resolves an issue with the previous implementation where the tuner
editor was being refreshed repeatedly to update the lock state for the
tuner, rendering the editor almost completely unusable.
Now updates only the frequency control and the sample rate control to
reflect the tuner's lock state.
Adds capability to disable spectral display.
Adds right-click context
menu items to disable display and/or reenable display by selecting
another tuner.
Adds view menu items to disable spectral display or show a tuner.
Persists spectral display enabled state across application run sessions.
The C4FM and LSM decoders were issuing a PLL reset with each new
channel that was allocated, causing any existing decoding channels to
be disrupted. Decoding re-sync delays or inability to recapture the
signal for decoding would likely result as the tuner's overall PPM
caused misadjustment in the channel.
Resolved a NPE that was occurring in the FrequencyController for
sample rate changes.
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.