Commit Graph

61 Commits

Author SHA1 Message Date
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
1dc0125ef4 Resolves issue with LTR standard calls - ending state was not monitoring
the correct channel number on call ends.
2016-02-12 20:54:14 -05:00
denny
2892e4609e Removes the 'No Tuner' color change sub-menu from the decoding channels
list.  This is no longer a valid channel state since any decoding
channels that fail to get a tuner source will not be displayed.
2016-02-06 08:24:46 -05:00
denny
ba952af721 Added support for parsing additional Packet Data Unit unrecognized types
and removed logging of unrecognized PDUC messages.
2016-02-05 09:10:23 -05:00
denny
d9be346d7f Added new message for Packet Data Unit Confirmed messages with unknown
PDUType.
2016-02-04 21:14:16 -05:00
denny
133adec27a Adds support for PacketData messages that were being flagged as Packet
Data Unit - Confirmed unknown message types.
2016-02-04 20:51:13 -05:00
denny
981a8fec55 Removes logger from TrafficChannelManager that was logging when a
traffic channel is allocated but fails to get a source and is
subsequently torn down.  Logging was ambiguous and unneeded.
2016-02-04 20:50:17 -05:00
denny
4460f1ee30 Suppresses logging of attempts to change to invalid channel state. The
state enumeration is designed to block these attempts which can occur
when a non-standard call sequence of events occurs, normally due to
intermittent decoding.
2016-02-02 20:14:33 -05:00
denny
ddfefe4b85 Resolves issue with ChannelState FADE monitor - changes from
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.
2016-02-02 19:44:18 -05:00
Denny Sheirer
debdc39a5f Resolves threading issue in ChannelState.
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
2016-02-01 09:17:56 +00:00
denny
1290b8c4d3 Adds VSELP message and unknown Data Unit ID handling to P25 decoder. 2016-01-28 19:18:05 -05:00
denny
f0c11f2590 Cleanup. 2016-01-23 14:39:52 -05:00
denny
abca4ebbd7 Updated to use concurrent containers to avoid concurrent modification
exceptions.
2016-01-22 16:30:58 -05:00
denny
cffc6b6eed Updates TDMA synchronization broadcast message to ICD 2016-01-22 10:39:09 -05:00
Denny Sheirer
39ebec78a8 Updates channel type description for TDMA channels. 2016-01-19 04:06:20 +00:00
Denny Sheirer
4066a4b3c3 Adds TDMA channel IdentifierUpdate message parsing. 2016-01-19 04:00:18 +00:00
denny
810bb7384e Closes #42 - ltr standard call state was not accurately tracking call
state. 

Note: a related issue described in ticket #42 involves issues with the
audio output module.  A new ticket will be opened with that issue.
2016-01-17 19:42:13 -05:00
denny
e41e430e45 Updates LoJack message/event function and reply code aliasing.
-Adds new LoJack AliasID allowing user to specify a lojack function and
5-character reply code with wildcards.
-Removes SiteID as an alias option for LoJack.

Valid Alias IDs for LoJack now are:
-LoJack Alias ID: for function and reply code combinations
-ESN ID: for transponder addresses
2016-01-01 09:03:04 -05:00
denny
e35b0b277e Resolves issue with call event table column sorting not working properly 2015-12-31 10:10:54 -05:00
denny
c82fc54fbd Resolved issue with throwing a runtime exception when the state monitor
was null.
2015-12-31 09:40:20 -05:00
denny
2e56b4a27f Removed extra logging 2015-12-31 09:30:17 -05:00
denny
9c305b0732 Resolves issue with AFC and frequency change event handling,
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
2015-12-31 09:08:26 -05:00
denny
e41f2b0148 Adds P25 ability to ignore/follow data channel grants (defaults to
ignore)
2015-12-26 08:43:34 -05:00
denny
d01801ebc3 Resolves issue with registering instrumentation taps. 2015-12-26 07:01:02 -05:00
denny
0a21b5ae45 C4FM Slicer - rearranged symbol decision logic 2015-12-26 06:49:17 -05:00
denny
4a7cc2b852 Closes issue #37 - LoJack site ID aliases are not triggering alias
actions.

-Updated LJ1200Message to return proper address, reply code and site ID
aliases.

-Update LJDecoderState and LJDecoderPanel to properly reset after a
successful decode and to correct issues with gui label coloration.
2015-12-21 19:21:50 -05:00
denny
137d35697e Adds P25 Phase II/TDMA Sync Broadcast message (Opcode 30) used to
synchronize timing across an FDMA control channel and a TDMA traffic
channel.
2015-12-20 18:34:58 -05:00
denny
f243a27ce7 Merge branch 'master' of https://github.com/DSheirer/sdrtrunk.git 2015-12-20 15:07:42 -05:00
denny
feadc459b5 Removed extra logging 2015-12-20 11:19:54 -05:00
denny
6ab4d55f47 P25 Decoder Updates.
-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
2015-12-20 11:12:08 -05:00
Denny Sheirer
f65e606fc9 Merge branch 'master' of https://github.com/DSheirer/sdrtrunk.git 2015-12-16 00:11:58 +00:00
Denny Sheirer
97d0dc40d6 Updated lookup values in encryption enumeration. 2015-12-15 23:43:17 +00:00
denny
9babaa3d7a Enhances null checking in P25 decoder panel 2015-12-13 08:59:49 -05:00
denny
4caecaa476 Removed deemphasis experiment and replaced with a fixed, non-clipping
gain module for P25 IMBE audio.
2015-12-12 07:11:30 -05:00
denny
ee96ce43ad Fixed import in P25 audio module 2015-12-11 13:35:47 -05:00
denny
6763a4bdd6 Adds de-emphasis filter to P25 decoded IMBE audio output. 2015-12-11 13:34:20 -05:00
denny
ed91c617d9 Updates to P25-C4FM decoder filtering and frequency correction. 2015-11-30 19:59:06 -05:00
denny
ebb59f5181 AM Decoder adapted to the new processing chain architecture. 2015-11-29 08:46:03 -05:00
denny
f04a6727b0 Resolved issue with channel label display in spectrum overlay panel
when a new tuner is added.

Cleanup of debugging messages.
2015-11-22 14:25:37 -05:00
denny
dc3bcfd404 Resolves issue with spectral and waterfall alignment with frequency
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
2015-11-22 11:29:05 -05:00
denny
4025f88951 P25 and Airspy work in progress
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
2015-11-21 17:40:59 -05:00
denny
a6c7c4f5d1 P25 Decoder updates - work in progress.
Updated jmbe library to work with version 0.3.1
2015-11-15 19:53:42 -05:00
denny
c178e99a5d Work in progress - P25 LSM 2015-11-09 20:35:12 -05:00
denny
1f43d19d12 Updated decoder event broadcasting to Tait decoder. 2015-11-08 19:39:40 -05:00
denny
70e62ebb35 Adds airspy USB tuner support and updates the spectral display
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.
2015-11-07 08:18:41 -05:00
denny
5a91630996 Updates p25 audio module to use version 0.3.0 of the jmbe audio library 2015-10-10 06:05:08 -04:00
denny
3e05a9eb03 Resolves issue #23.
Adds audio output display and management options supporting mono and 
stereo output options.

Provides audio output supporting prioritization by talkgroup and/or 
channel selection.

Supports muting all channels, or muting individual channels and
individual audio gain/volume controls.
2015-10-03 17:50:03 -04:00
denny
20f5d06104 Restores context menus for channels in configuration window, channel
processing window, and spectral display window.
2015-09-26 18:35:28 -04:00
denny
550f5c5d27 Updates the Passport decoder to the new architecture and implements
per-call recording.
2015-09-26 09:35:05 -04:00
denny
507ae5255e Updated LTR Standard decoder state to new architecture to support
per-call recording and accurate state tracking.

Resolved issue with ThreadPoolManager limiting total number of scheduled
tasks (removed limiter - original intent is now OBE)

Updated ChannelState to better handle auxiliary decoder decode events,
so that when a fleetsync ident is at the end of the transmission, the
decode doesn't kick the channel back into a call state after it has
faded, causing static bursts and additional empty recordings.

Updated recording file name to include millisecond level precision, to
further avoid duplicate recording names
2015-09-26 07:37:40 -04:00