DMR Decoder - Status Update

1,953 views
Skip to first unread message

sdrtrunk

unread,
Sep 6, 2020, 9:48:52 AM9/6/20
to sdrtrunk
All,
I'm making some good progress some of the final pieces of the DMR decoder.  Thanks again to Zhenyu Mao for all of the early work on this decoder.

When I travel, I usually make lots of wideband recordings (10 MHz) with my airspy tuner and store them to an external SSD to use for testing when I'm back home.  Attached screenshot is a very busy 900 MHz recording from Dallas, TX area showing at least 6 separate Motorola Connect Plus  sites and several (possible?) OpenSky channels.

What's interesting is that Con+ networks can spin up a call across multiple sites until it determines where the call participants are located and then it will shutdown the call at any sites that don't have participants.  This was causing me grief as I was testing against single sites and getting lots of short/truncated calls.  When you decode all of the sites simultaneously, you start to see this pattern play out.

cheers,
Denny 
20200906_093354_screen_capture.png

jim...@gmail.com

unread,
Sep 6, 2020, 11:10:23 AM9/6/20
to sdrtrunk
Another awesome feature! Can't wait.................

Michael Jones

unread,
Sep 7, 2020, 1:10:01 AM9/7/20
to sdrtrunk
I'm very familiar with that Con+ network that you recorded and have provided a number of fixes to the sites around the area. That system, IMHO is one of the worst examples to be working with. It's a multi-state system, and whomever submitted most of the information to the RRDB was likely copying and pasting an OTA dump capture. It shows a number of sites that have 15 frequencies, which according to the Motorola specs is the maximum for a single site. What I've found in reality is that most sites only have 4-5 frequencies maximum. From my listening post on the Northern edge of the Dallas/Fort Worth "Metroplex" I can monitor 6 sites of the 16 in North Texas. What appears to happen is the radio affiliates with whichever one is stronger, and as a mobile unit moves it keeps reafffiliating with a stronger site instead of staying on one site until its too weak. On top of that, I have seen multiple sites max out with all talkpaths busy, so some traffic will just not come across. I know the North Texas Toll Road Authority (NTTA) has a number of talkgroups on this system for non-public safety purposes and I'm surprised that they would accept a failure rate on communications like that.

Compound this with the system owner not having accurate FCC licenses (the same system owner that is petitioning the FCC to do a massive rebanding of the 900MHz spectrum to open up more bandwidth for OTA data services which is why the FCC has not been processing 900MHz licenses), I don't think anybody but the system owner really knows what is really configured on it - and from most reports, the system owner is selling the users to two other companies that plan on migrating the users to LTE, and this system will eventually shut down to make room for their OTA data services.

But all in all, can't wait to get my hands on the DMR decoder (and I'm glad there's only one OpenSky system in the area - that I know of)

Nick Turin

unread,
Sep 7, 2020, 5:31:19 AM9/7/20
to sdrtrunk
Wow! Good news! How soon can we try out the updated software?

Nick Turin

unread,
Sep 7, 2020, 11:31:23 AM9/7/20
to sdrtrunk
I want to start testing the new version with dmr as soon as possible) There are many dmr transmitters in my region.

GTR8000

unread,
Sep 7, 2020, 1:04:00 PM9/7/20
to sdrtrunk
You can try it out right now if you build the distribution yourself. I've been running it for a few weeks now, although the latest updates to the branch Denny made this weekend have made it much more usable on Con+.

AvidSurvivalist

unread,
Sep 8, 2020, 8:03:54 AM9/8/20
to sdrtrunk
Great! Can't wait to test it out on the Con+ system the local ski resort uses when they open up this winter.

On Sunday, September 6, 2020 at 9:48:52 AM UTC-4 sdrtrunk wrote:

Nick Turin

unread,
Sep 8, 2020, 8:34:19 AM9/8/20
to sdrtrunk
I put together the code, but I don't see the decoder dmr (((How to activate it?


понедельник, 7 сентября 2020 г., 20:04:00 UTC+3 пользователь GTR8000 написал:

Nick Turin

unread,
Sep 8, 2020, 8:52:18 AM9/8/20
to sdrtrunk
You would immediately write that it is in the "sdrtrunk-5-dmr-decoder-part2" branch, otherwise you won't find it right away) 

DMR works! Thank Denny

John Silber

unread,
Sep 8, 2020, 8:52:12 PM9/8/20
to sdrtrunk
I decided to give this a go, and just want to state I am VERY new to the whole compiling thing. I got as far as getting it built, compiled and got to the directory where the build was and when I ran it, I got this error:

Error: Could not find or load main class io.github.dsheirer.gui.SDRTrunk
Caused by: java.lang.ClassNotFoundException: io.github.dsheirer.gui.SDRTrunk

The files and directories are there, and I know there is something rookie I did wrong, but frankly I surprised myself that I got as far as I did without any pain. I am stumped, be gentle with any help please :-)

wexler...@gmail.com

unread,
Sep 9, 2020, 5:10:49 AM9/9/20
to sdrtrunk
1) You need to download and install oracle jdk or openjdk.

2) register the java variable in the operating system

3) in the terminal go to the folder of the downloaded and unzipped sdrtrunk

4) execute the script:
 
Windows: sdr-trunk.bat
Linux / OSX: ./sdr-trunk

среда, 9 сентября 2020 г. в 03:52:12 UTC+3, sil...@gmail.com:

wexler...@gmail.com

unread,
Sep 9, 2020, 5:14:35 AM9/9/20
to sdrtrunk
Danny, how do we add an alias for dmr like you have in the screenshot?

воскресенье, 6 сентября 2020 г. в 16:48:52 UTC+3, sdrtrunk:

John Silber

unread,
Sep 9, 2020, 7:30:23 AM9/9/20
to sdrtrunk
Thanks, I did all that, I feel like I did step 2 correctly, however, that's the only thing I can see where I might have errerd. I'll tinker with it again this evening when I get home from work, but if I can't manage to make it work, I'll just wait for the release. Thanks again for the help.

John Silber

unread,
Sep 9, 2020, 7:31:30 AM9/9/20
to sdrtrunk
Oh, forgot to mention, I am on windows, and was using that bat file that was included in the build.

On Wednesday, September 9, 2020 at 5:10:49 AM UTC-4 wexler...@gmail.com wrote:

Nick Turin

unread,
Sep 9, 2020, 12:37:29 PM9/9/20
to sdrtrunk
Do you have jdk14 version?

среда, 9 сентября 2020 г., 14:31:30 UTC+3 пользователь John Silber написал:

John Silber

unread,
Sep 9, 2020, 12:43:07 PM9/9/20
to sdrtrunk
That is the one I installed, yes. Initially I got an error when I first tried compile about missing stuff from SE 13, and realized I maybe had a version mismatch, so uninstalled and reinstalled everything with the latest, and it compiled fine. It's after this when I tried to run the bat that I ran into the error.

Nick Turin

unread,
Sep 10, 2020, 6:21:14 AM9/10/20
to sdrtrunk
In my region one of the services is running in dmr and I cannot find its control channel. It uses> 20 frequencies. The repeaters are divided into city districts. According to my observations, when a signal appears in one TG20 repeater, then this TG is otherwise the same. What is this DMR standard?

среда, 9 сентября 2020 г. в 19:43:07 UTC+3, sil...@gmail.com:

DaveNF2G

unread,
Sep 10, 2020, 12:59:19 PM9/10/20
to sdrtrunk
There are several flavors of DMR that behave differently from each other.

Conventional DMR is not trunked, but scanner manufacturers treat it as one-frequency trunking in order to enable user/group tracking.

Trunked DMR includes Hytera virtual trunking and the MotoTRBO variants, Capacity Plus and Connect Plus.  There is also a Linked Capacity Plus version and one other Capacity Plus-based type that I can't remember the name of.

TRBO Connect Plus has a "control channel" in the traditional Motorola trunking sense - a constant datastream that directs all of system units.  Capacity Plus is more like LTR in that it has something called a Rest Channel, which is where units are told where to go for voice and other calls.  The Rest Channel migrates from slot to slot and repeater to repeater as the system is used.  It transmits bursts of data to announce itself.

There are additional variations and local anomalies.

-Dave, NF2G

DaveNF2G

unread,
Sep 10, 2020, 1:00:07 PM9/10/20
to sdrtrunk
The other Cap+ type is called Capacity Max.

-Dave, NF2G

GTR8000

unread,
Sep 10, 2020, 1:15:09 PM9/10/20
to sdrtrunk
Capacity Max is not a version of Capacity Plus (Cap+), but rather is Motorola's version of Tier III. It behaves similar to Connect Plus (Con+) in that it has a dedicated control channel.

Ron Webb

unread,
Sep 10, 2020, 6:56:31 PM9/10/20
to GTR8000, sdrtrunk
I'm just wanting to confirm that this is branch "5-dmr-decoder-part2"? I get no errors attempting to build this but when I attempt to open the "Playlist Editor" I get an error message:

Exception in thread "JavaFX Application Thread" java.lang.IllegalArgumentException: Invalid URL: Invalid URL or resource not found
        at javafx.scene.image.Image.validateUrl(Image.java:1125)
        at javafx.scene.image.Image.<init>(Image.java:655)
        at io.github.dsheirer.icon.Icon.getFxImage(Icon.java:227)
        at io.github.dsheirer.gui.playlist.alias.AliasItemEditor$IconCellFactory$1.updateItem(AliasItemEditor.java:1610)
        at io.github.dsheirer.gui.playlist.alias.AliasItemEditor$IconCellFactory$1.updateItem(AliasItemEditor.java:1596)
        at javafx.scene.control.ListCell.updateItem(ListCell.java:478)
        at javafx.scene.control.ListCell.indexChanged(ListCell.java:337)
        at javafx.scene.control.IndexedCell.updateIndex(IndexedCell.java:120)
        at javafx.scene.control.skin.VirtualFlow.setCellIndex(VirtualFlow.java:1742)
        at javafx.scene.control.skin.VirtualFlow.getCell(VirtualFlow.java:1726)
        at javafx.scene.control.skin.VirtualFlow.getCellBreadth(VirtualFlow.java:1861)
        at javafx.scene.control.skin.VirtualFlow.getMaxCellWidth(VirtualFlow.java:2737)
        at javafx.scene.control.skin.VirtualContainerBase.getMaxCellWidth(VirtualContainerBase.java:155)
        at javafx.scene.control.skin.ComboBoxListViewSkin$3.computePrefWidth(ComboBoxListViewSkin.java:527)
        at javafx.scene.Parent.prefWidth(Parent.java:1019)
        at javafx.scene.layout.Region.prefWidth(Region.java:1543)
        at javafx.scene.control.skin.ComboBoxListViewSkin.computePrefWidth(ComboBoxListViewSkin.java:285)
        at javafx.scene.control.Control.computePrefWidth(Control.java:560)
        at javafx.scene.Parent.prefWidth(Parent.java:1019)
        at javafx.scene.layout.Region.prefWidth(Region.java:1543)
        at javafx.scene.layout.Region.computeChildPrefAreaWidth(Region.java:1946)
        at javafx.scene.layout.GridPane.computePrefWidths(GridPane.java:1578)
        at javafx.scene.layout.GridPane.computePrefWidth(GridPane.java:1251)
        at javafx.scene.Parent.prefWidth(Parent.java:1019)
        at javafx.scene.layout.Region.prefWidth(Region.java:1543)
        at javafx.scene.layout.Region.computeChildPrefAreaWidth(Region.java:1946)
        at javafx.scene.layout.Region.getMaxAreaWidth(Region.java:2215)
        at javafx.scene.layout.Region.computeMaxPrefAreaWidth(Region.java:2079)
        at javafx.scene.layout.VBox.computePrefWidth(VBox.java:419)
        at javafx.scene.Parent.prefWidth(Parent.java:1019)
        at javafx.scene.layout.Region.prefWidth(Region.java:1543)
        at javafx.scene.control.skin.ScrollPaneSkin.computePrefWidth(ScrollPaneSkin.java:423)
        at javafx.scene.control.Control.computePrefWidth(Control.java:560)
        at javafx.scene.Parent.prefWidth(Parent.java:1019)
        at javafx.scene.layout.Region.prefWidth(Region.java:1543)
        at javafx.scene.layout.Region.computeChildPrefAreaWidth(Region.java:1946)
        at javafx.scene.layout.HBox.getAreaWidths(HBox.java:465)
        at javafx.scene.layout.HBox.layoutChildren(HBox.java:631)
        at javafx.scene.Parent.layout(Parent.java:1206)
        at javafx.scene.Parent.layout(Parent.java:1213)
        at javafx.scene.Parent.layout(Parent.java:1213)
        at javafx.scene.Parent.layout(Parent.java:1213)
        at javafx.scene.Parent.layout(Parent.java:1213)
        at javafx.scene.Parent.layout(Parent.java:1213)
        at javafx.scene.Parent.layout(Parent.java:1213)
        at javafx.scene.Parent.layout(Parent.java:1213)
        at javafx.scene.Parent.layout(Parent.java:1213)
        at javafx.scene.Scene.doLayoutPass(Scene.java:576)
        at javafx.scene.Scene$ScenePulseListener.pulse(Scene.java:2482)
        at com.sun.javafx.tk.Toolkit.lambda$runPulse$2(Toolkit.java:412)
        at java.base/java.security.AccessController.doPrivileged(AccessController.java:391)
        at com.sun.javafx.tk.Toolkit.runPulse(Toolkit.java:411)
        at com.sun.javafx.tk.Toolkit.firePulse(Toolkit.java:438)
        at com.sun.javafx.tk.quantum.QuantumToolkit.pulse(QuantumToolkit.java:563)
        at com.sun.javafx.tk.quantum.QuantumToolkit.pulse(QuantumToolkit.java:543)
        at com.sun.javafx.tk.quantum.QuantumToolkit.pulseFromQueue(QuantumToolkit.java:536)
        at com.sun.javafx.tk.quantum.QuantumToolkit.lambda$runToolkit$11(QuantumToolkit.java:342)
        at com.sun.glass.ui.InvokeLaterDispatcher$Future.run(InvokeLaterDispatcher.java:96)
        at com.sun.glass.ui.win.WinApplication._runLoop(Native Method)
        at com.sun.glass.ui.win.WinApplication.lambda$runLoop$3(WinApplication.java:174)
        at java.base/java.lang.Thread.run(Thread.java:832)
Caused by: java.lang.IllegalArgumentException: Invalid URL or resource not found
        at javafx.scene.image.Image.validateUrl(Image.java:1117)
        ... 60 more

_____________________________________
Ron Webb



--
You received this message because you are subscribed to the Google Groups "sdrtrunk" group.
To unsubscribe from this group and stop receiving emails from it, send an email to sdrtrunk+u...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/sdrtrunk/6192b8ca-21df-433d-86ad-65144ee2ba9co%40googlegroups.com.

Nick Turin

unread,
Sep 11, 2020, 7:19:28 AM9/11/20
to sdrtrunk
I found information that the service we are talking about uses MotoTRBO with IP Site Connect. The system connects distributed repeaters and connects them into a network. I do not observe the control channel. Here are the parameters of the voice channel of the dsd: program

Screenshot 2020-09-11 at 14.18.04.png


четверг, 10 сентября 2020 г., 19:59:19 UTC+3 пользователь DaveNF2G написал:

Nick Turin

unread,
Sep 11, 2020, 10:30:32 AM9/11/20
to sdrtrunk

And can someone explain how to use this setting on the screenshot?

Screenshot 2020-09-11 at 17.27.35.png


John Silber

unread,
Sep 11, 2020, 10:33:42 AM9/11/20
to sdrtrunk
I found out why I was getting the messages, I was trying to run the sdr bat from the scripts directory. Once I went to the distributions directory and
extracted the zip file there, I ran the bat and it is running like a champ with DMR support. Thanks Denny!
20200911_103221_screen_capture.png

Nick Turin

unread,
Sep 11, 2020, 11:08:14 AM9/11/20
to sdrtrunk
In the screenshot, the range in which the dmr repeaters work. They have no control channel.

Signals on the spectrum that stretch far down - there is radio traffic and they belong to the same TG group and others do not work there.

Short signals that start and end at the same time belong to other strictly defined TG groups.

All repeaters periodically broadcast carriers with empty idle messages.

So how can I determine what this dmr is more accurately?

Screenshot 2020-09-11 at 17.55.31.png


20200911_175535_screen_capture.png


jim...@gmail.com

unread,
Sep 11, 2020, 10:28:35 PM9/11/20
to sdrtrunk
Ok amateur here.....
Downloaded 
sdrtrunk-5-dmr-decoder-part2. 
Ran the gradlew.bat and it ran successfully. 
Went to Build/Distributions and extracted the zip folder sdr-trunk-0.5.0-alpha3.zip
opened the new extracted folder and went to bin and tried to run the sdr-trunk.bat file but nothing happens. 
What am I doing wrong?

Ron Webb

unread,
Sep 11, 2020, 11:28:26 PM9/11/20
to sdrtrunk
I guess I've gotten a BIT further but not much further. I get the program to start but I can't open the Playlist Editor.

AvidSurvivalist

unread,
Sep 12, 2020, 10:05:18 AM9/12/20
to sdrtrunk
If the window just opens then closes, your file path is too long. Move your extracted folder "sdr-trunk-0.5.0-alpha3" out of the build/distributions directory to somewhere else so it has a shorter path, like the desktop. It should run.

jim...@gmail.com

unread,
Sep 12, 2020, 3:38:01 PM9/12/20
to sdrtrunk
Thanks that was it!
So I have been experimenting by looking at Radio Reference and chasing transitions using AirSpy with DSD+. I enter some control channels in SDRTrunk but I only get transmissions on the control channel. The events  show activity on other channels and counts the seconds the channel is active but I don't get anything. I attached  a screen shot. 
Screenshot DMR.png

Bill Morris

unread,
Sep 12, 2020, 4:15:50 PM9/12/20
to sdrtrunk
Jim,

What are the steps that you used to get DMR built and working?

Thanks

Message has been deleted

Bill Morris

unread,
Sep 12, 2020, 5:39:15 PM9/12/20
to sdrtrunk
After running the gradlew.bat file, it seems to go through a build process and creates a new folder ".gradle;" however, it never creates the build/distributions folders. I am running JDK 14.0.2. I can't determine where the problem is.

On Saturday, September 12, 2020 at 5:05:10 PM UTC-4 jim...@gmail.com wrote:
1st thing I did was to BACKUP my playlist folder. 
Went to C:\Users\jimjr\SDRTrunk\Playlist      I copied the entire folder and placed the copy on my desktop. 
On right side near top I clicked the down arrow on the green CLONE button
I then clicked on Download Zip
I then went to the downloaded zip folder and extracted everything 
Then into the new extracted folder of the same name just without the .zip at the end (sdrtrunk-5-dmr-decoder-part2)
I opened that and double clicked on gradlew.bat (I'm on a Windows machine)
(NOTE: at first the gradlew.bat kept failing because I was running JDK 11. I upgraded to JDK 13.0.2 and it built fine)
Next I went into the Build folder and then the Distributions folder.
There I extracted the sdr-trunk-0.5.0-alpha3.zip folder
Now move the new extracted folder with the same name sdr-trunk-0.5.0-alpha3 to your desktop or the command to run will be to long.
Next on the desktop open the sdr-trunk.bat folder
into Bin folder
double click on sdr-trunk.bat and the program runs.

You might want to create a shortcut to the sdr-trunk.bat file.
Message has been deleted
Message has been deleted

Bill Morris

unread,
Sep 12, 2020, 6:08:08 PM9/12/20
to sdrtrunk
The clean build worked!
Thanks!

On Saturday, September 12, 2020 at 5:44:50 PM UTC-4 jim...@gmail.com wrote:
Try opening a command prompt window
In search window next to the Start button type CMD then hit enter
Should get a command prompt. 
From there navigate to the folder you unzipped that has the gradlew.bat file in it
Once there type the following and hit enter        gradlew.bat clean build

It should go thru the build process again but it should create the build folder for you this way.

jim...@gmail.com

unread,
Sep 12, 2020, 6:34:45 PM9/12/20
to sdrtrunk
Sorry all... Here is my edited and cleaned up way I built my SDRTrunk DMR

1st thing I did was to BACKUP my playlist folder. 
Went to C:\Users\jimjr\SDRTrunk\Playlist      I copied the entire folder and placed the copy on my desktop. 
On right side near top I clicked the down arrow on the green CLONE button
I then clicked on Download Zip
I then went to the downloaded zip folder and extracted everything 
Open a command prompt window
In search window next to the Start button type CMD then hit enter
Should get a command prompt. 
From there navigate to the folder you unzipped that has the gradlew.bat file in it
Once there type the following and hit enter        gradlew.bat clean build
It should go thru the build process and should create the build folder for you this way.
(NOTE: at first the gradlew.bat kept failing because I was running JDK 11. I upgraded to JDK 13.0.2 and it built fine)
Next I went into the Build folder and then the Distributions folder.
There I extracted the sdr-trunk-0.5.0-alpha3.zip folder
Now move the new extracted folder with the same name sdr-trunk-0.5.0-alpha3 to your desktop or the command to run will be to long.
Next on the desktop open the sdr-trunk-0.5.0-alpha3 folder
into Bin folder
double click on sdr-trunk.bat and the program runs.

You might want to create a shortcut to the sdr-trunk.bat file.

On Saturday, September 12, 2020 at 4:15:50 PM UTC-4 wrmo...@gmail.com wrote:

MV Elttba

unread,
Sep 13, 2020, 7:14:53 PM9/13/20
to jim...@gmail.com, sdrtrunk
I wonder if NXDEN will be supported? Jim Thanks a bunch for your detail work around

Vincent


--
You received this message because you are subscribed to the Google Groups "sdrtrunk" group.
To unsubscribe from this group and stop receiving emails from it, send an email to sdrtrunk+u...@googlegroups.com.

dde...@gmail.com

unread,
Sep 13, 2020, 7:41:49 PM9/13/20
to sdrtrunk
Is this only for Con+? There are Cap+ too.

MV Elttba

unread,
Sep 13, 2020, 7:52:55 PM9/13/20
to dde...@gmail.com, sdrtrunk
I think right now it's Con+, i haven't tried Cap yet, but when i go to download from Radio Reference, the NXDEN has a red circle with a line through it. But tis is just maybe not even alpha right now, I'm sure Denny will lets us know
Vincent


dde...@gmail.com

unread,
Sep 13, 2020, 8:17:22 PM9/13/20
to sdrtrunk
I just installed it. there are green check marks besides CAP+ and CON+

dde...@gmail.com

unread,
Sep 13, 2020, 9:06:52 PM9/13/20
to sdrtrunk
CON+ no problem
CAP+ It won't hold the Rest channel. Rest channel isn't a like traditional control channels. It's looks like blips on a waterfall. Takes SDRTrunk forever to get to the rest channel only to lose it again. The "off on" like behavior of a CAP+ rest channels. About a second apart between blips. Plus the rest channel likes to move frequency alot on a busy system like the Hobby Lobby Distribution Center here in Oklahoma City. 

sdrtrunk

unread,
Sep 15, 2020, 4:44:46 AM9/15/20
to sdrtrunk
I'm working on the CAP+ trunking issue right now.  From a decoder developer viewpoint, CAP+ is a challenge.  After CAP+, I have to add/test trunking for Capacity Max and Hytera XPT also.

NXDN support will be added in version 0.6.0.  DMR, Sdrplay and AM/FM squelch are in the queue for 0.5.0.

Denny

dde...@gmail.com

unread,
Sep 15, 2020, 10:04:12 PM9/15/20
to sdrtrunk

By all means take your time. I am not a developer but from what I seen of CAP+ it must be a real challenge trying to get it to follow blips changing frequency many times in a hour. Moreso I am thankful for it.

Nick Turin

unread,
Sep 16, 2020, 10:22:08 AM9/16/20
to sdrtrunk
This is very, very cool! It will be a big surprise for sdrtrunk fans to get the dmr mode in version 0.5.0 and the long awaited am / nbfm squelch. Since I would like the program to be used for monitoring radio amateur analog repeaters and the air band.

вторник, 15 сентября 2020 г., 11:44:46 UTC+3 пользователь sdrtrunk написал:

John Silber

unread,
Sep 21, 2020, 3:55:56 PM9/21/20
to sdrtrunk
Is there a branch that as the am/nbfm squelch? I am running dmr flawlessly, even though I don't have many in my range. 

sdrtrunk

unread,
Sep 27, 2020, 10:39:53 AM9/27/20
to sdrtrunk
I added support for DMR Capacity Plus to the DMR decoder branch that is currently under development.

For DMR, I moved the channel rotation time delay setting into the channel DMR decoder configuration editor.  This allows you to specify frequency rotation speed for each DMR system.  It defaults to 200 milliseconds meaning that it will scan up to 5 frequencies per second from your multiple frequency listing, while searching for an active channel.  This can be adjusted to a higher delay time (if needed) to give the decoder an expanded time period to lock onto a signal before it rotates.  I'll probably make this same change for P25 and MPT-1327 and remove the editor from the UserPreferences dialog completely.

If you're interested ...

Capacity plus was a challenge to support because it doesn't follow normal trunking conventions.  There is no central trunking control channel.  It uses what's called a REST channel.  All calls start on the current REST channel.  When this happens, the REST channel is converted to a traffic channel and a new REST channel is identified.

In sdrtrunk, there are two types of channels: STANDARD and TRAFFIC.  Standard is what most users will use when they're configuring channels in the playlist editor.  Traffic channels are dynamically created by each standard channel decoder to follow trunked traffic calls as the occur.  Traffic channels are dynamically created from and managed by a single standard channel, so that when you shut down the standard channel the software will also shut down and cleanup any associated traffic channels.

Therein lies the issue with Capacity plus.  There are two ways to handle when the current channel becomes a traffic channel and a new REST channel is identified:

1)Treat the REST channel like a control channel.  Detect when the current REST channel has changed, create a traffic channel for the current frequency, and move the current standard channel to the new REST channel frequency.
2)Convert the current Standard channel to be a Traffic channel and create a new Standard channel that's pointing to the REST frequency.

I initially thought about option 1, but decided against it because when the REST to traffic channel conversion happens, a call is essentially started and I didn't want to shutdown the decoder and create a new channel that would have to sync to the signal and potentially miss the beginning of the call.

Option 2 is the one that I coded.  But this created a lot of changes in the code.  There are still some issues to be resolved.  The decode event history right now is orphaned, because that history stays with the converted traffic channel and doesn't get transferred to the new REST channel.  There may be other issues/disconnects that I'll find as I do more testing.

Denny

On Sunday, September 6, 2020 at 9:48:52 AM UTC-4 sdrtrunk wrote:
All,
I'm making some good progress some of the final pieces of the DMR decoder.  Thanks again to Zhenyu Mao for all of the early work on this decoder.

When I travel, I usually make lots of wideband recordings (10 MHz) with my airspy tuner and store them to an external SSD to use for testing when I'm back home.  Attached screenshot is a very busy 900 MHz recording from Dallas, TX area showing at least 6 separate Motorola Connect Plus  sites and several (possible?) OpenSky channels.

What's interesting is that Con+ networks can spin up a call across multiple sites until it determines where the call participants are located and then it will shutdown the call at any sites that don't have participants.  This was causing me grief as I was testing against single sites and getting lots of short/truncated calls.  When you decode all of the sites simultaneously, you start to see this pattern play out.

cheers,
Denny 

Nick Turin

unread,
Sep 28, 2020, 9:13:17 AM9/28/20
to sdrtrunk
My identifiers consist of 8 characters, and in the program there is a limit of 6 characters. What to do?

Снимок экрана 2020-09-28 в 16.10.17.png

Снимок экрана 2020-09-28 в 16.10.29.png


sdrtrunk

unread,
Sep 29, 2020, 4:06:45 AM9/29/20
to sdrtrunk
Nick, I just pushed another update to the DMR branch that should fix the DMR radio and talkgroup alias identifier issue.

Denny

audio...@gmail.com

unread,
Oct 3, 2020, 9:24:58 PM10/3/20
to sdrtrunk
Bonjour

Désolé pour mon français, mais j'ai beaucoup de difficulté en anglais.

J'ai plusieurs service DMR dans ma région et il y à quelque minutes j'ai remarquer un drôle de déclanchement sur les ondes et j'ai remarquer ceci



si cela peux aidé la cause.

Merci beaucoup pour ce logiciel fantastique, et votre dévouement pour l'amélioré.

audio...@gmail.com

unread,
Oct 3, 2020, 9:26:33 PM10/3/20
to sdrtrunk
Inked20201003_211111-2_screen_capture_LI.jpg

wate...@gmail.com

unread,
Nov 23, 2020, 5:06:35 PM11/23/20
to sdrtrunk
Hi Denny,
Has Hytera support been added or is it still a work-in-progress? I found some frequencies close to me that have an emission code of 7K60FXE. I plugged them into SDRTrunk and I see a bunch of messages about Hytera XPT in the messages tab. I know next to nothing about DMR systems so not sure if I just need to figure out how to program it correctly or if it's just not supported yet.

Thanks

sdrtrunk

unread,
Nov 24, 2020, 3:52:37 AM11/24/20
to sdrtrunk
There's support for it, but in many cases they're using basic privacy scrambling and that will cause problems for sdrtrunk decodes.

DaveNF2G

unread,
Nov 24, 2020, 8:39:10 AM11/24/20
to sdrtrunk
There are a couple of XPT sites near me and they display RAS in DSDPlus.  Is that something that would hinder decoding with SDRTrunk?
Reply all
Reply to author
Forward
0 new messages