Author Topic: Change Talkgroup from the Radio in YSF2DMR Mode  (Read 2917 times)

0 Members and 1 Guest are viewing this topic.

Offline VE3RD

  • Newbie
  • *
  • Posts: 31
  • Karma: +0/-0

  • Total Badges: 16
    Badges: (View All)
    Level 4 Fifth year Anniversary Fourth year Anniversary
Change Talkgroup from the Radio in YSF2DMR Mode
« on: February 25, 2020, 08:48:51 am »
There has been several queries regarding the ability to change the DMR Talkgroup when using YSF2DMR.

YES it can be done!

1) Make sure that only YSF and YSF2DMR are selected in you Dashboard Configuration Page
2) Select YSF2DMR as your YSF Startup Host

3) Select your DMR Master Server (I use TGIF_Network)
4) Select a startup Talkgroup. (I used 30232)
5) Turn on Wires-X Pass Through
6) You need to change the ports in the YSF2DMR to have the YSF2DMR code connect to MMDVMHost

/etc/ysf2dmr
[YSF Network]
DstPort=3200
LocalPort=4200
EnableWiresX=1

You need to change or add entries in /usr/local/etc/TGList_BM to reflect TGIF Talkgroups that you want to use.
I added
31665;0;TGIF_NETWORK_TG31665;TG31665


Reboot your Hotspot

The following is the key sequence on the FT70

Dial up the frequency for your hotspot

Press [F] and then [AMS]
You should get a connection to DMR2YSF and your selected TG

To Change the Talkgroup
Rotate your Dial to EN #
Enter your new Talkgroup, using all 5 digits, ie 31665,00302
press [AMS]
The radio will send a tg 4000 disconnect
The radio will time out with three beeps
press [HM/RV] and hold to clear the field
Rotate the dial to Lc  and your CallSign
Key your radio, you should now be on the new talkgroup

To change again
Rotate the Dial to En # and enter your new TG
Press [AMS] , wait for the timeout, then press and hold [HM/RV] to clear the field
 Rotate the dial to Lc  and your CallSign
Key uor radio and talk on your new talkgroup

Phil VE3RD

Note 1: If you turn off the radio, and turn it back on, it will still be on the same talkgroup.


« Last Edit: February 25, 2020, 09:16:45 am by VE3RD »

Offline VE3RD

  • Newbie
  • *
  • Posts: 31
  • Karma: +0/-0

  • Total Badges: 16
    Badges: (View All)
    Level 4 Fifth year Anniversary Fourth year Anniversary
Re: Change Talkgroup from the Radio in YSF2DMR Mode
« Reply #1 on: February 26, 2020, 05:46:19 pm »
If you feel REALLY adventurous, you can make a small edit to the YSF2DMR Code
This is a HACK,
I have requested a REAL Fix to this issue.
This basically ignores the timeout and smoothly changes the TG, and reduces the timeout from 12 to 4 seconds

login via ssh
cd /home/pi-star
sudo git clone https://github.com/juribeparada/MMDVM_CM
cd MMDVM_CM/YSF2DMR
sudo nano YSF2DMR,cpp

Locate and change the code as indicated
the // are the original lines followed by the changed line, do not ignore the //
//                      if ((TG_connect_state != NONE) && (TGChange.elapsed() > 12000)) {
                        if ((TG_connect_state != NONE) && (TGChange.elapsed() > 4000)) {
                                LogMessage("Timeout changing TG");
                //              TG_connect_state = NONE;
                                TG_connect_state = SEND_REPLY;
                        }

save the file
type
sudo make

when finished backup the original file
cp /usr/local/bin/YSF2DMR /usr/local/bin/YSF2DMR.original
Stop the service, copy the file, restart the service
ysf2dmr.service stop
cp YSF2DMR /usr/local/bin/
ysf2dmr.service start


Enjoy!
I will advise if/when a proper fix has appeared in an update

Phil VE3RD
« Last Edit: March 05, 2020, 08:25:40 pm by VE3RD »

Offline KC1LKO

  • Newbie
  • *
  • Posts: 6
  • Karma: +0/-0

  • Total Badges: 6
    Badges: (View All)
    Level 2 Topic Starter First Post
Re: Change Talkgroup from the Radio in YSF2DMR Mode
« Reply #2 on: March 02, 2020, 10:03:52 pm »
Hi Phil.

Thanks for sharing that "hack".  Works very nicely.  A few comments on the instructions though:

1. In my case I need to use sudo as I am logging in as pi-star and not doing su - or sudo sh....
2. Typo: missing extension for nano YSF2DMR.cpp
3. In my case I need to also do rpi-rw to make the file system writeable
4. Another typo: You meant cp vs cd in this line sudo cp /usr/local/bin/YSF2DMR /usr/local/bin/YSF2DMR.original

Bellow is output of my session with my entered lines in blue.


Pi-Star's disk is read-only by default, enable read-write with "rpi-rw".
Pi-Star built by Andy Taylor (MW0MWZ), pi-star-z tools all start "pistar-".

pi-star@pi-star-z(ro):~$ rpi-rw
pi-star@pi-star-z(rw):~$ git clone https://github.com/juribeparada/MMDVM_CM
Cloning into 'MMDVM_CM'...
remote: Enumerating objects: 8, done.
remote: Counting objects: 100% (8/8), done.
remote: Compressing objects: 100% (8/8), done.
remote: Total 642 (delta 0), reused 2 (delta 0), pack-reused 634
Receiving objects: 100% (642/642), 1.09 MiB | 424.00 KiB/s, done.
Resolving deltas: 100% (454/454), done.
Checking connectivity... done.
Checking out files: 100% (483/483), done.
pi-star@pi-star-z(rw):~$ cd MMDVM_CM/YSF2DMR/
pi-star@pi-star-z(rw):YSF2DMR$ nano YSF2DMR.cpp
pi-star@pi-star-z(rw):YSF2DMR$ make
g++ -g -O3 -Wall -std=c++0x -pthread -c -o BPTC19696.o BPTC19696.cpp
g++ -g -O3 -Wall -std=c++0x -pthread -c -o Conf.o Conf.cpp
g++ -g -O3 -Wall -std=c++0x -pthread -c -o GPS.o GPS.cpp
g++ -g -O3 -Wall -std=c++0x -pthread -c -o TCPSocket.o TCPSocket.cpp
g++ -g -O3 -Wall -std=c++0x -pthread -c -o DTMF.o DTMF.cpp
g++ -g -O3 -Wall -std=c++0x -pthread -c -o APRSWriter.o APRSWriter.cpp
g++ -g -O3 -Wall -std=c++0x -pthread -c -o APRSWriterThread.o APRSWriterThread.cpp
g++ -g -O3 -Wall -std=c++0x -pthread -c -o CRC.o CRC.cpp
g++ -g -O3 -Wall -std=c++0x -pthread -c -o DMRLookup.o DMRLookup.cpp
g++ -g -O3 -Wall -std=c++0x -pthread -c -o DMREMB.o DMREMB.cpp
g++ -g -O3 -Wall -std=c++0x -pthread -c -o DMREmbeddedData.o DMREmbeddedData.cpp
g++ -g -O3 -Wall -std=c++0x -pthread -c -o APRSReader.o APRSReader.cpp
g++ -g -O3 -Wall -std=c++0x -pthread -c -o DMRFullLC.o DMRFullLC.cpp
g++ -g -O3 -Wall -std=c++0x -pthread -c -o DMRNetwork.o DMRNetwork.cpp
g++ -g -O3 -Wall -std=c++0x -pthread -c -o DMRLC.o DMRLC.cpp
g++ -g -O3 -Wall -std=c++0x -pthread -c -o DMRSlotType.o DMRSlotType.cpp
g++ -g -O3 -Wall -std=c++0x -pthread -c -o DMRData.o DMRData.cpp
g++ -g -O3 -Wall -std=c++0x -pthread -c -o Golay2087.o Golay2087.cpp
g++ -g -O3 -Wall -std=c++0x -pthread -c -o Golay24128.o Golay24128.cpp
g++ -g -O3 -Wall -std=c++0x -pthread -c -o Hamming.o Hamming.cpp
g++ -g -O3 -Wall -std=c++0x -pthread -c -o Log.o Log.cpp
g++ -g -O3 -Wall -std=c++0x -pthread -c -o ModeConv.o ModeConv.cpp
g++ -g -O3 -Wall -std=c++0x -pthread -c -o Mutex.o Mutex.cpp
g++ -g -O3 -Wall -std=c++0x -pthread -c -o QR1676.o QR1676.cpp
g++ -g -O3 -Wall -std=c++0x -pthread -c -o Reflectors.o Reflectors.cpp
g++ -g -O3 -Wall -std=c++0x -pthread -c -o RS129.o RS129.cpp
g++ -g -O3 -Wall -std=c++0x -pthread -c -o StopWatch.o StopWatch.cpp
g++ -g -O3 -Wall -std=c++0x -pthread -c -o Sync.o Sync.cpp
g++ -g -O3 -Wall -std=c++0x -pthread -c -o SHA256.o SHA256.cpp
g++ -g -O3 -Wall -std=c++0x -pthread -c -o Thread.o Thread.cpp
g++ -g -O3 -Wall -std=c++0x -pthread -c -o Timer.o Timer.cpp
g++ -g -O3 -Wall -std=c++0x -pthread -c -o UDPSocket.o UDPSocket.cpp
g++ -g -O3 -Wall -std=c++0x -pthread -c -o Utils.o Utils.cpp
g++ -g -O3 -Wall -std=c++0x -pthread -c -o WiresX.o WiresX.cpp
g++ -g -O3 -Wall -std=c++0x -pthread -c -o YSFConvolution.o YSFConvolution.cpp
g++ -g -O3 -Wall -std=c++0x -pthread -c -o YSFFICH.o YSFFICH.cpp
g++ -g -O3 -Wall -std=c++0x -pthread -c -o YSFNetwork.o YSFNetwork.cpp
g++ -g -O3 -Wall -std=c++0x -pthread -c -o YSF2DMR.o YSF2DMR.cpp
g++ -g -O3 -Wall -std=c++0x -pthread -c -o YSFPayload.o YSFPayload.cpp
g++ BPTC19696.o Conf.o GPS.o TCPSocket.o DTMF.o APRSWriter.o APRSWriterThread.o CRC.o DelayBuffer.cpp DMRLookup.o DMREMB.o DMREmbeddedData.o APRSReader.o DMRFullLC.o DMRNetwork.o DMRLC.o DMRSlotType.o DMRData.o Golay2087.o Golay24128.o Hamming.o Log.o ModeConv.o Mutex.o QR1676.o Reflectors.o RS129.o StopWatch.o Sync.o SHA256.o Thread.o Timer.o UDPSocket.o Utils.o WiresX.o YSFConvolution.o YSFFICH.o YSFNetwork.o YSF2DMR.o YSFPayload.o -g -O3 -Wall -std=c++0x -pthread -lm -lpthread -o YSF2DMR
pi-star@pi-star-z(ro):YSF2DMR$ rpi-rw
pi-star@pi-star-z(rw):YSF2DMR$ sudo cp /usr/local/bin/YSF2DMR /usr/local/bin/YSF2DMR.original
pi-star@pi-star-z(rw):YSF2DMR$ sudo ysf2dmr.service stop
Killing YSF2DMR PID 11157
pi-star@pi-star-z(rw):YSF2DMR$ ysf2dmr.service status
YSF2DMR is not running
pi-star@pi-star-z(rw):YSF2DMR$ sudo cp YSF2DMR /usr/local/bin/
pi-star@pi-star-z(rw):YSF2DMR$ sudo ysf2dmr.service start
YSF2DMR started as PID 26822
pi-star@pi-star-z(rw):YSF2DMR$ sudo ysf2dmr.service status
YSF2DMR is running as PID 26822
pi-star@pi-star-z(rw):YSF2DMR$ exit
« Last Edit: March 02, 2020, 10:52:47 pm by mianesva »

Offline KC1LKO

  • Newbie
  • *
  • Posts: 6
  • Karma: +0/-0

  • Total Badges: 6
    Badges: (View All)
    Level 2 Topic Starter First Post
Re: Change Talkgroup from the Radio in YSF2DMR Mode
« Reply #3 on: March 02, 2020, 11:00:59 pm »
For changing TG on the the FT3 I follow this procedure (based on above)

1. Single Press the "X" (Wires-X) button on lower left of radio
2. Tap "Search & Direct" on center
3. Again, Tap "Search & Direct" on bottom center
4. Tap "ID" in upper left - a hash should show
5. Enter the TG number using 5 digits.  Example: 00201
6. Tap "ENT" - a message will flash for 4 seconds you will then see green transmit light - your radio will now have already sent a "key up" / "PTT" and will already be in the TG.
7. To get out of "Wires-X" mode press and HOLD the "X" (Wires-X) button on lower left of radio

Offline KC1LKO

  • Newbie
  • *
  • Posts: 6
  • Karma: +0/-0

  • Total Badges: 6
    Badges: (View All)
    Level 2 Topic Starter First Post
Re: Change Talkgroup from the Radio in YSF2DMR Mode
« Reply #4 on: March 05, 2020, 08:17:34 am »
Phil, what is the reason for this change?

6) You need to change the ports in the YSF2DMR to have the YSF2DMR code connect to MMDVMHost

/etc/ysf2dmr
[YSF Network]
DstPort=3200
LocalPort=4200
EnableWiresX=1


I did not need to change and had worked ok.  Mine are:
[YSF Network]
DstPort=42000
LocalPort=42013
EnableWiresX=1

Offline VE3RD

  • Newbie
  • *
  • Posts: 31
  • Karma: +0/-0

  • Total Badges: 16
    Badges: (View All)
    Level 4 Fifth year Anniversary Fourth year Anniversary
Re: Change Talkgroup from the Radio in YSF2DMR Mode
« Reply #5 on: March 08, 2020, 06:00:46 pm »
It has been brought to my attention that the TG change occurs just fine with the stock ysf2dmr module, if you disable the enableunlink parameter.

This makes sense to me as I traced the problem to a time out waiting for the unlink response. Of course this is untested as I no longer have a ysf radio.

[DMR Network]
EnableUnlink=0

Phil VE3RD

Offline KC1LKO

  • Newbie
  • *
  • Posts: 6
  • Karma: +0/-0

  • Total Badges: 6
    Badges: (View All)
    Level 2 Topic Starter First Post
Re: Change Talkgroup from the Radio in YSF2DMR Mode
« Reply #6 on: March 17, 2020, 09:18:22 pm »
Hi Phil,

Thanks for pointing this out.  I have verified this already with the FT3 and it works well.  I saved the modified ysf2dmr and copied back the /usr/local/bin/YSF2DMR.original one that had been saved, made the modifications to /etc/ysf2dmr and restarted (actually cold-booted) the hotspot to make sure it was all fresh.

Thanks again and 73

KC1LKO
Miguel

Offline N5OBC

  • Newbie
  • *
  • Posts: 2
  • Karma: +0/-0
  • Call Sign: N5OBC

  • Total Badges: 6
    Badges: (View All)
    Level 2 First Post Search
Re: Change Talkgroup from the Radio in YSF2DMR Mode
« Reply #7 on: October 04, 2020, 01:05:36 pm »
Did this plus edited the brandmeister talkgroups as stated higher in the post and this works.  Cool deal and thanks.
Mark
N5OBC


[DMR Network]
EnableUnlink=0

 

Related Topics

  Subject / Started by Replies Last post
1 Replies
158 Views
Last post February 01, 2019, 08:52:09 am
by Robert K4WZV
2 Replies
159 Views
Last post April 12, 2019, 09:06:28 pm
by K3CHB
1 Replies
147 Views
Last post November 18, 2019, 12:22:32 pm
by Robert K4WZV
0 Replies
343 Views
Last post December 22, 2019, 11:38:31 am
by N1KK
3 Replies
143 Views
Last post February 27, 2020, 05:45:15 pm
by Robert K4WZV

TGIF Network - Thank God It's Friday!