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.
starting/stopping the monitor for each call to simply leaving the
monitor task running continuously. Was causing issue with scheduled
thread executor not shutting down the task in a timely manner -- new
approach should avoid start/stop related issues altogether.
Updates P25DecoderState with reordering of timing of when we send
updates for the TO/FROM identifiers so that the audio manager receives
up-to-date metadata and hopefully resolves issue with 'Do Not Monitor'
talkgroups being monitored by the audio manager.
Updates the AudioManager with a try/catch block around the processing
task so that we can catch any audio processing exceptions that occur
during the timer task and might get suppressed by the scheduled thread
executor.
Resolves issue in tuner controller where controller was not releasing
sourced tuner channels, preventing re-tuning to other frequencies.
Resolves issue with channel timeout on MPT1327 monitored traffic
channels
specifically for P25 C4FM frequency tracking.
-Clarifies frequency change event naming and adds request/notitification
events for channel frequency correction type events
-Removes DC offset filter from P25 C4FM demodulator which was operating
independently of the AFC tracking component within the C4FM symbol
filter.
-Changed FCD tuner center DC spike buffer size after detecting that the
DC center spike was influencing the P25 C4FM filter frequency tracker
whenever the tuner's center frequency was changed to bring the channel
boundary within 3 kHz of the center spike -- set it to 5 kHz to provide
a better buffer.
-Updated spectral channel display to provide better indication of
automatic frequency control (yellow line) versus channel frequency
-Improved handling of channel grants and call event logging
-Prevent traffic channels from changing to control channel state
-Change text on PDU Alternate Multi-Block to reflect trunking message
type
-Added interface for Adjacent Site messages and improved logging
overlay.
Minor edits to MPT and P25 config editors
Resolved issue with channels not accepting channel config changes
between restarts (processing chain was not being deleted)
Minor edits to P25 decoder state
Updated p25 decoder state to better track calls and call detects from
a trunked channel
Fixed issue with false detects on LDU2 encrypted call messages
Fixed Airspy channel allocation ... will allocate channels across the
entire bandwidth, minus 50 kHz on either end, and will not adjust the
center frequency if it's not needed.
Fixed traffic channel teardown -- traffic channels are immediately
removed now, without a fade delay.
AudioMetadata - updated flag is now reset upon copying the metadata
component.
-Airspy supported with 10 and 2.5 MSps sample rates. Additional
decimation may be added later.
-Spectral display updated to include smoothing and filtering options.
Note: the decimated output of a tuner channel from the airspy is
48,076.9 samples per second, versus the normal 48 kHz decimated rate.
This is 1.0015 times the normal rate and doesn't appear to impact the
decoders or audio processing. Therefore, no fractional resampling has
been added.
from Module so that Decoder can function independent of DecoderSTate and
DecoderState can more cleanly interface with other modules.
Resolves issue with LTR-type decoders where the AudioModule was
filtering demodulated audio buffers before the decoder received the
audio - demodulated audio buffers are now copied before creating
AudioPackets.
Note: Several of the decoders are currently non-functioning in this
commit. If you want the latest functioning codebase, please checkout
the commit prior to this one. All decoders will eventually be updated
with this new architecture.
Currently broken:
- Logging and recording
- Aux decoders (Fleetsync/MDC/LoJack/Tait)
- LTR/Passport decoders
Changes in this commit:
- Module architecture for decoders and components with central
provisioning by the DecoderFactory
- Transition from Complex sample stream processing to float buffer
processing for improved memory management
- Redesigned filter structures - to support buffers and streams
- Resolved several memory leak issues
- Universal sharing of the thread pool manager
- Added centralized audio management with call/user prioritization and
new gui with mute/volume controls
- Embedded audio metadata for eventual streaming support
- Redesigned ProcessingChain to support independent re-use
- Added new TrafficChannelManager to handle traffic channel allocations
- Traffic Channel pool size and Call timeout available in P25 and
MPT1327 configs
- Redesigned channel and decoder gui components