Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

1507 capplus lsn numbering #1536

Merged
merged 1 commit into from May 14, 2023

Conversation

wedgef5
Copy link
Contributor

@wedgef5 wedgef5 commented May 1, 2023

This PR is for issue #1507

After thoroughly reading https://forums.radioreference.com/threads/understanding-capacity-plus-trunking.209318/ and https://forums.radioreference.com/threads/understanding-capacity-plus-trunking-some-more.452566/ and examining numerous CSBKO=62 and CSBKO-59 messages from a local Cap+ system, I determined that the messages actually contain the Logical Slot Number (LSN) for the Rest channel, rather than the repeater number (LCN) and slot number.

I have refactored CapacityPlusSystemStatus, CapacityPlusNeighbors, CapacityPlusRestChannel and CapacityPlusWideAreaVoiceChannelUser to get the REST_LSN from the appropriate bits and have the getRestRepeater and getRestTimeslot methods calculate their respective values from the LSN.

One small caveat...the local system appears to use Group Calls (FLCO=0) exclusively. I have not seen any Wide Area (FLCO=4) messages, so that class was modified based solely off the the RR forum messages.

@DSheirer DSheirer force-pushed the 1507-capplus-lsn-numbering branch from 39d9ada to 386e45b Compare May 14, 2023 11:57
@DSheirer DSheirer force-pushed the 1507-capplus-lsn-numbering branch from eeb1c6d to 782786e Compare May 14, 2023 12:02
@DSheirer
Copy link
Owner

@wedgef5 thank you for the PR! I hope you don't mind, but i added some additional changes for RAS handling and for improved parsing of the Cap+ site status message, prior to merging.

@DSheirer DSheirer added this to the Build 0.6.0 milestone May 14, 2023
@DSheirer DSheirer merged commit 3df8d60 into DSheirer:master May 14, 2023
3 checks passed
@wedgef5
Copy link
Contributor Author

wedgef5 commented May 15, 2023

I don't mind at all, and thank you for including my PR! I have dabbled in Java code for many years, but this is my first time contributing to a project of this complexity.

One question...What is RAS?

@wedgef5 wedgef5 deleted the 1507-capplus-lsn-numbering branch May 15, 2023 18:56
@DSheirer
Copy link
Owner

RAS is a form of CRC manipulation that causes the message checksum validation to fail unless you XOR the the RAS key with the CRC first.

https://cwh050.blogspot.com/2015/10/restricted-access-to-system.html?m=1

tadscottsmith added a commit to tadscottsmith/sdrtrunk that referenced this pull request Aug 7, 2023
* DSheirer#1529 Adds logging suppression to Broadcaster to limit total logged error messages. (DSheirer#1530)

Co-authored-by: Dennis Sheirer <dsheirer@github.com>

* DSheirer#1531 Updates version to 0.6.0 alpha 7 (DSheirer#1532)

Co-authored-by: Dennis Sheirer <dsheirer@github.com>

* Revert "DSheirer#1531 Updates version to 0.6.0 alpha 7 (DSheirer#1532)"

This reverts commit 11f37e8.

* DSheirer#35 Updates AM & NBFM decoders to use Adaptive Squelch, a power squelch that includes an adaptive noise floor monitor.  Implements vectorized magnitude operations for AM & FM decoders.  Adds talkgroup assignment and squelch controls to AM channel configuration editor.  Implements new AM gain control that attempts to normalize audio gain quickly at beginning of call/transmission and maintains that gain across lifecycle of the call and resets the gain for the next call. (DSheirer#1540)

Notes on usage:
- When using either AM or FM squelch control use either the Heterodyne channelizer or if using the Polyphase channelizer, avoid using trunk tracking decoders like DMR or P25 or set the squelch threshold high enough to avoid changes in noise floor from polyphase channelizer where it can vary between using the one channel or the two-channel combined channel sources.

Co-authored-by: Dennis Sheirer <dsheirer@github.com>

* DSheirer#1528 Restores consistent audio segment start tone insertion, broken in DSheirer#1506 (DSheirer#1543)

Co-authored-by: Dennis Sheirer <dsheirer@github.com>

* DSheirer#648 Resolves issue with audio panel sometimes displaying stale metadata that doesn't clear until the next audio segment is loaded. (DSheirer#1545)

Co-authored-by: Dennis Sheirer <dsheirer@github.com>

* DSheirer#1507 Resolves issue with Cap+ LSN parsing.  Updates Cap+ Site Status and adds RAS bit handling. (DSheirer#1536)

Co-authored-by: Matthew Foster <matthew.foster@noaa.gov>

* Adds native Rdio Scanner streaming. (#1) (DSheirer#1476)

DSheirer#1476 Adds rdio-scanner call upload API streaming support
---------

Co-authored-by: Dennis Sheirer <dsheirer@github.com>

* DSheirer#1556 DMR Capacity Plus parsing enhancements. (DSheirer#1557)

Co-authored-by: Dennis Sheirer <dsheirer@github.com>

* added Rsp1TunerConfiguration to JsonSubTypes of RspTunerConfiguration (DSheirer#1555)

Following reports that RSP1 tuner configurations are reset to default on startup. Unable to test

* DSheirer#1548 Reduces default decoder AF gain by 40% to resolve issue with distorted audio from local strong aircraft transmissions. (DSheirer#1559)

Co-authored-by: Dennis Sheirer <dsheirer@github.com>

* DSheirer#1547 Updates playlist alias editor to make add/delete operations more efficient. (DSheirer#1560)

Co-authored-by: Dennis Sheirer <dsheirer@github.com>

* DSheirer#1558 Resolves issue where heterodyne channelizer allows tuning a set of channels that exceed the tuner's bandwidth. (DSheirer#1561)

Co-authored-by: Dennis Sheirer <dsheirer@github.com>

* DSheirer#1565 updates LTR, LTRNet and Passport decoders with new slope decoder.  Resolves issue with LTR Standard decoder state that was combining individual calls to the same talkgroup and causing excessively long calls. (DSheirer#1567)

Co-authored-by: Dennis Sheirer <dsheirer@github.com>

* DSheirer#1568 Updates NBFM decoder configuration so user can enable/disable high-pass filter option in the audio module to effect audio playback and audio recording of the demodulated audio.  Disabling the filter allows recording of DC and sub-audible signalling that may be present in the demodulated audio (e.g. LTR or squelching signalling). (DSheirer#1569)

Co-authored-by: sheirerd <sheirerd@ainfosec.com>

* DSheirer#1573 Adds Digital Coded Squelch (DCS) auxiliary decoder support. (DSheirer#1574)

Co-authored-by: Dennis Sheirer <dsheirer@github.com>

* DSheirer#1575 Updates traffic channel names to be 'T-' concatenated with the parent control channel name from the channel configuration. (DSheirer#1578)

Co-authored-by: Dennis Sheirer <dsheirer@github.com>

* DSheirer#1579 Resolves issue with array index out of bounds error generated in P25 Phase 1 decoders where the Dibit circular buffer attempts to write a (DSheirer#1580)

dibit past the length of the array.  Issue likely occurs when a partial/incomplete put operation adds a dibit and increments the buffer pointer but the thread is interrupted prior to wrapping the buffer pointer.  When the next runnable iteration executes, the pointer is pointing past the end of the buffer.  Updates the code to check the pointer both before and after the put operation.

Co-authored-by: Dennis Sheirer <dsheirer@github.com>

* DSheirer#1581 Updates Rdio Scanner configuration editor to automatically append the 'api/call-upload' path to the end of the protocol and host value provided by the user.  Sets the host default value to 'http://localhost' but allows the user to overwrite. (DSheirer#1582)

Co-authored-by: Dennis Sheirer <dsheirer@github.com>

* DSheirer#1563 Updates RSP tuner to produce sample buffers with optimal power-of-2 length to enable downstream vectorized operations. (DSheirer#1583)

Co-authored-by: Dennis Sheirer <dsheirer@github.com>

* DSheirer#1584 Updates DMR & P25 decoders to stop processing residual samples from the current buffer after a traffic channel shutdown has been signalled. (DSheirer#1585)

Co-authored-by: Dennis Sheirer <dsheirer@github.com>

* DSheirer#1590 Resolves issue with RSP tuners generating too many native buffers causing excessive memory consumption (DSheirer#1591)

Co-authored-by: Dennis Sheirer <dsheirer@github.com>

* DSheirer#1588 Use JDK20 and Gradle 8.2.  Updates SDRPlay API for compatibility with JDK20 Project Panama Foreign Memory/Function changes. (DSheirer#1589)

Co-authored-by: Dennis Sheirer <dsheirer@github.com>

* DSheirer#1586 Resolves issue in P25 message framer where after transmitting the current message the mDataUnitId is set to null and this causes an NPE when subsequent code is executed prior to shutdown of the channel. (DSheirer#1593)

Co-authored-by: Dennis Sheirer <dsheirer@github.com>

* Adds event type as a filtering option in the Events tab

* DSheirer#1368 Restructures Message and Event filter framework.

* DSheirer#1603 Resolves issue with de-duplicating events to allow call duration values to display correctly and minimize the quantity of duplicate events.

* DSheirer#1604 Resolves issue with event panel UI layout creating excess space between history management panel and events table.

* DSheirer#1605 Resolves issue where certain Linux users were unable to display the tuner editor panel due to an issue with the frequency control editor's usage of custom cursor.

* DSheirer#1612 Enhance aliasing to support DCS tones

---------

Co-authored-by: Denny Sheirer <dennissheirer2002@yahoo.com>
Co-authored-by: Dennis Sheirer <dsheirer@github.com>
Co-authored-by: wedgef5 <wedgef5@users.noreply.github.com>
Co-authored-by: Matthew Foster <matthew.foster@noaa.gov>
Co-authored-by: Nokoa <Nokoa@users.noreply.github.com>
Co-authored-by: sheirerd <sheirerd@ainfosec.com>
Co-authored-by: Christopher Varner <rdhddood@gmail.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

2 participants