Commit Graph

167 Commits

Author SHA1 Message Date
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
denny
9c69733034 Decouples DecoderState from the Decoder and makes DecoderState inherit
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.
2015-09-26 05:45:34 -04:00
denny
eb1c2fc7a1 Resolved issue with audio and baseband wave recorder writing incorrect
file size to recording.
2015-09-20 09:58:28 -04:00
denny
95c38df812 Resolved issue with delayed event log writing ... added forced flushing
after each event write.
2015-09-19 20:02:26 -04:00
Denny Sheirer
f070510acc Adding real cic decimator for testing in LTR FSK demodulator 2015-09-18 18:24:58 +00:00
denny
ba41022853 Instrumentation updates ... work in progress 2015-09-19 12:26:04 -04:00
denny
8c2207e37c Merge branch 'master' of https://github.com/DSheirer/sdrtrunk.git 2015-09-18 22:18:44 -04:00
denny
416cbdd105 work in progress 2015-09-14 21:48:30 -04:00
denny
c7227ca780 Work in progress 2015-09-14 21:31:26 -04:00
Denny Sheirer
0922f1a7a0 Create README.md 2015-09-13 09:30:33 -04:00
denny
732d478502 Resolved timing issue in wave writer 2015-09-13 06:18:46 -04:00
denny
895067f71e Resolved issue with duplicate Do Not Monitor events being sent to the
call event panel.
2015-09-12 11:42:26 -04:00
denny
82ce3c668a Adds call blacklisting (do not monitor) to aliases. 2015-09-12 10:59:31 -04:00
denny
f354c73109 More updates 2015-09-11 17:13:45 -04:00
denny
853748edd8 Resolved issue with icons displaying in call event panel 2015-09-11 15:37:39 -04:00
denny
575197bd98 Interim checkin for call recording. 2015-09-11 14:01:47 -04:00
denny
0f85b7260a Adds event logging, code cleanup and some decoder issue resolution. 2015-09-02 19:41:44 -04:00
denny
f4d8ea281d Initial commit of redesigned internal processing and audio management.
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
2015-09-01 07:10:26 -04:00
dennis.sheirer
538a299246 Instrumentation updates for eye diagram data and removed stack trace logging when JMBE library is not discovered. 2015-06-19 09:34:36 +00:00
dennis.sheirer
f9703368a0 Build 0.1.5 2015-06-12 10:42:48 +00:00
dennis.sheirer
b730c12531 Updates function code labels with input from Shawn (SkannerSK) 2015-06-12 10:24:30 +00:00
dennis.sheirer
14934deeda Resolves issue with null pointer on alias list upon program startup. 2015-06-12 10:23:47 +00:00
dennis.sheirer
31482a1014 P25 Decoder - improved LSM decoding and IMBE audio decoding. Includes redesigned audio output class to handle automatic start/stop of audio playback based on availability of audio data. 2015-06-08 01:05:19 +00:00
dennis.sheirer
5dd4454c4c CMA Equalizer - work in progress 2015-05-12 13:15:05 +00:00
dennis.sheirer
b728b71d61 Removes debug logging 2015-05-12 11:53:55 +00:00
dennis.sheirer
fccde3d112 Build 0.1.3 - adds support for 48 kHz audio output from JMBE library for P25 audio. Resolves issue with Automatic Frequency Control on P25 C4FM channels where the channel was not tracking changes in tuner frequency. 2015-05-11 09:37:50 +00:00
dennis.sheirer
bc5080aa4a P25 - updated automatic and direct frequency control to cleanup the code and allow P25 to better track frequency and PPM changes in the tuner and provide a cleaner implementation of the AFC component in the processing chain of all of the other decoders.
Changed C4FM symbol filter to reset frequency tracking values when the tuner's frequency or PPM values change.

Moved all frequency control pieces into the source.tuner.frequency package.
2015-05-04 00:55:04 +00:00
dennis.sheirer
d2020cdba0 LJ1200 - Added Function 0 to functions enum 2015-04-27 09:16:03 +00:00
dennis.sheirer
752567c442 Increments build to 0.1.2 2015-04-26 23:58:21 +00:00
dennis.sheirer
85d7e7f035 Lojack 1200 - errors and user requested fixes: A) Site ID/Reply Code alias, B) Include function code for unknown functions, and C) fix wording for speed up function 2015-04-26 23:57:38 +00:00
dennis.sheirer
deddc11cc0 P25 - fix for encrypted calls to mute audio. 2015-04-26 23:45:01 +00:00
dennis.sheirer
2c4b3ab1b5 P25 - enhancement for LSM demod phase lock errors - adds new sync pattern detectors to detect Costas Loop phase lock errors and apply immediate correction to enable accurate symbol slicing. 2015-04-26 16:58:25 +00:00
dennis.sheirer
c12123a81b P25 - work in progress to improve CQPSK LSM audio output. Audio output is still choppy but greatly improved over the previous test release. 2015-04-25 23:21:20 +00:00
dennis.sheirer
505f2ca474 P25 - Updates to Motorola TSBK messages 2015-04-21 23:54:11 +00:00
dennis.sheirer
d55d7609cb Tuner Channel - uses new CIC prime decimation filter for decimating channel to 48k sample rate. 2015-04-07 01:10:10 +00:00
dennis.sheirer
90149fe600 Resolves issues with classpath on Windows and null pointer exception with the AM decoder. 2015-04-04 18:31:41 +00:00
dennis.sheirer
ec72c4352b Adds program version information to the title bar of the application. 2015-04-04 12:32:59 +00:00
dennis.sheirer
f9d139a807 P25 - adds audio muting (ignore) for encrypted p25 voice calls 2015-04-04 12:32:18 +00:00
dennis.sheirer
fc8f2772ae P25 - adds error detection and correction to the Link Control message in LDU1 voice messages and to the Encryption Sync message in LDU2 messages. 2015-04-04 09:59:38 +00:00
dennis.sheirer
b8f4e682eb P25 - added Header Data Unit (HDU) error detection and correction with Golay(18,6,8) and ReedSolomon(36,20,17). 2015-04-03 19:35:08 +00:00
dennis.sheirer
71a15707db P25 Audio Decoder - changed sync pattern matcher to allow up to 2 bit mismatches on audio message frames when in the middle of a call.
Encrypted audio is still going to the audio output -- have to add error detection and correction to the ldu link control messages before I can use the encryption flag as a valid sentinel value.
2015-04-03 15:36:50 +00:00
dennis.sheirer
023553c3bf P25 audio decoder integration.
Auto-discovers the jmbe ( https://github.com/DSheirer/jmbe ) library at startup and provides decode P25 Phase 1 audio
2015-03-29 13:25:36 +00:00
dennis.sheirer
52f2e3bdca P25 audio work in progress - started work on exposing 88-bit (11-byte) IMBE voice frames from LDU messages. Added deinterleave, derandomize and the Golay(23,12,7) error detection and correction to LDU voice messages. Hamming edac still remains to be implemented. Plan to create a separate project to produce an imbe FormatConversionProvider that will convert 88-bit imbe frames to PCM audio that is then in a standard format for audio playback, recording, or conversion to another format like shoutcast. 2015-03-01 15:40:25 +00:00
dennis.sheirer
1f13f7eec2 Updated function to delineate site id and transponder reply. Reversed bit ordering to Big Endian on Address, VRC, LRC and CRC. Added Alias feature for address -- use the ESN alias. Updated Site ID alias to be used against both site and transponder reply codes. 2015-02-26 01:39:45 +00:00
dennis.sheirer
d87acad189 P25 - adds icons to decoding channel display for talkgroups and addresses. Includes new super high-resolution (not) fire truck and rescue truck icons. 2015-02-24 01:19:27 +00:00
dennis.sheirer
d7a03c7196 P25 - work in progress - this is a fairly stable version of the P25 channel state. There is still work to do, but I'm going to release a test version based on this commit.
- Channel state now processes HDU, TDU, TDULC, PDU, PDULC, LDU1/2, LDULC
2015-02-22 18:46:03 +00:00
dennis.sheirer
a0b38afee1 P25 - adds support from motorola patch groups described by PiccoIntegra in RR post: http://forums.radioreference.com/trunking-control-channel-decoding/308138-question-about-t-g-patching-p25.html 2015-02-20 12:58:41 +00:00
dennis.sheirer
ebee420478 P25 cleanup. 2015-02-20 01:52:04 +00:00
dennis.sheirer
7d948c4af4 P25 LSM work in progress. CQPSK demodulator is working now, but there is a slight phase error in the constellation (it's rotated right by 5-10 degrees). I'm not sure if this is an error coming from the decoder, or if it's reflecting a phase imbalance from the source tuner i/q data. 2015-02-16 23:14:23 +00:00
dennis.sheirer
78163caf4f Updated aliases to better support wildcards and regular expressions 2015-02-14 21:56:32 +00:00