MMDVM_CM/YSF2DMR
Doug McLain 53101450df Add M172DMR 2020-11-03 19:04:48 -05:00
..
contrib Add Manuel EA7EE contributions 2018-12-09 20:58:32 -03:00
service Original cross-mode conversion files 2018-05-28 11:02:35 -04:00
APRSReader.cpp Original cross-mode conversion files 2018-05-28 11:02:35 -04:00
APRSReader.h Original cross-mode conversion files 2018-05-28 11:02:35 -04:00
APRSWriter.cpp Add Manuel EA7EE contributions 2018-12-09 20:58:32 -03:00
APRSWriter.h Add Manuel EA7EE contributions 2018-12-09 20:58:32 -03:00
APRSWriterThread.cpp Original cross-mode conversion files 2018-05-28 11:02:35 -04:00
APRSWriterThread.h Original cross-mode conversion files 2018-05-28 11:02:35 -04:00
BPTC19696.cpp Original cross-mode conversion files 2018-05-28 11:02:35 -04:00
BPTC19696.h Original cross-mode conversion files 2018-05-28 11:02:35 -04:00
CRC.cpp Original cross-mode conversion files 2018-05-28 11:02:35 -04:00
CRC.h Original cross-mode conversion files 2018-05-28 11:02:35 -04:00
Conf.cpp Update Conf.cpp 2020-06-14 16:37:49 +01:00
Conf.h Update Conf.h 2020-06-14 16:24:28 +01:00
DMRData.cpp Original cross-mode conversion files 2018-05-28 11:02:35 -04:00
DMRData.h Original cross-mode conversion files 2018-05-28 11:02:35 -04:00
DMRDefines.h Original cross-mode conversion files 2018-05-28 11:02:35 -04:00
DMREMB.cpp Original cross-mode conversion files 2018-05-28 11:02:35 -04:00
DMREMB.h Original cross-mode conversion files 2018-05-28 11:02:35 -04:00
DMREmbeddedData.cpp Original cross-mode conversion files 2018-05-28 11:02:35 -04:00
DMREmbeddedData.h Original cross-mode conversion files 2018-05-28 11:02:35 -04:00
DMRFullLC.cpp Original cross-mode conversion files 2018-05-28 11:02:35 -04:00
DMRFullLC.h Original cross-mode conversion files 2018-05-28 11:02:35 -04:00
DMRIds.dat Original cross-mode conversion files 2018-05-28 11:02:35 -04:00
DMRLC.cpp Original cross-mode conversion files 2018-05-28 11:02:35 -04:00
DMRLC.h Original cross-mode conversion files 2018-05-28 11:02:35 -04:00
DMRLookup.cpp Original cross-mode conversion files 2018-05-28 11:02:35 -04:00
DMRLookup.h Original cross-mode conversion files 2018-05-28 11:02:35 -04:00
DMRNetwork.cpp Original cross-mode conversion files 2018-05-28 11:02:35 -04:00
DMRNetwork.h Original cross-mode conversion files 2018-05-28 11:02:35 -04:00
DMRSlotType.cpp Original cross-mode conversion files 2018-05-28 11:02:35 -04:00
DMRSlotType.h Original cross-mode conversion files 2018-05-28 11:02:35 -04:00
DTMF.cpp Original cross-mode conversion files 2018-05-28 11:02:35 -04:00
DTMF.h Original cross-mode conversion files 2018-05-28 11:02:35 -04:00
Defines.h Original cross-mode conversion files 2018-05-28 11:02:35 -04:00
DelayBuffer.cpp Original cross-mode conversion files 2018-05-28 11:02:35 -04:00
DelayBuffer.h Original cross-mode conversion files 2018-05-28 11:02:35 -04:00
GPS.cpp Add Manuel EA7EE contributions 2018-12-09 20:58:32 -03:00
GPS.h Add Manuel EA7EE contributions 2018-12-09 20:58:32 -03:00
Golay2087.cpp Original cross-mode conversion files 2018-05-28 11:02:35 -04:00
Golay2087.h Original cross-mode conversion files 2018-05-28 11:02:35 -04:00
Golay24128.cpp Original cross-mode conversion files 2018-05-28 11:02:35 -04:00
Golay24128.h Original cross-mode conversion files 2018-05-28 11:02:35 -04:00
Hamming.cpp Original cross-mode conversion files 2018-05-28 11:02:35 -04:00
Hamming.h Original cross-mode conversion files 2018-05-28 11:02:35 -04:00
LICENCE Original cross-mode conversion files 2018-05-28 11:02:35 -04:00
Log.cpp Original cross-mode conversion files 2018-05-28 11:02:35 -04:00
Log.h Original cross-mode conversion files 2018-05-28 11:02:35 -04:00
Makefile Update Makefile 2020-07-03 10:24:29 +02:00
ModeConv.cpp Fill with silence YSF frames for short YSF transmissions 2018-07-28 22:09:51 -04:00
ModeConv.h Fill with silence YSF frames for short YSF transmissions 2018-07-28 22:09:51 -04:00
Mutex.cpp Original cross-mode conversion files 2018-05-28 11:02:35 -04:00
Mutex.h Original cross-mode conversion files 2018-05-28 11:02:35 -04:00
QR1676.cpp Original cross-mode conversion files 2018-05-28 11:02:35 -04:00
QR1676.h Original cross-mode conversion files 2018-05-28 11:02:35 -04:00
README.md Add common README 2018-05-28 11:34:32 -04:00
RS129.cpp Original cross-mode conversion files 2018-05-28 11:02:35 -04:00
RS129.h Original cross-mode conversion files 2018-05-28 11:02:35 -04:00
Reflectors.cpp Original cross-mode conversion files 2018-05-28 11:02:35 -04:00
Reflectors.h Original cross-mode conversion files 2018-05-28 11:02:35 -04:00
RingBuffer.h Original cross-mode conversion files 2018-05-28 11:02:35 -04:00
SHA256.cpp Original cross-mode conversion files 2018-05-28 11:02:35 -04:00
SHA256.h Original cross-mode conversion files 2018-05-28 11:02:35 -04:00
StopWatch.cpp Update the StopWatch code 2018-07-21 23:17:16 -04:00
StopWatch.h Update the StopWatch code 2018-07-21 23:17:16 -04:00
Sync.cpp Original cross-mode conversion files 2018-05-28 11:02:35 -04:00
Sync.h Original cross-mode conversion files 2018-05-28 11:02:35 -04:00
TCPSocket.cpp Original cross-mode conversion files 2018-05-28 11:02:35 -04:00
TCPSocket.h Original cross-mode conversion files 2018-05-28 11:02:35 -04:00
TGList-DMR.txt Update TGList-DMR.txt 2019-03-07 22:49:16 +01:00
Thread.cpp Original cross-mode conversion files 2018-05-28 11:02:35 -04:00
Thread.h Original cross-mode conversion files 2018-05-28 11:02:35 -04:00
Timer.cpp Original cross-mode conversion files 2018-05-28 11:02:35 -04:00
Timer.h Original cross-mode conversion files 2018-05-28 11:02:35 -04:00
UDPSocket.cpp Original cross-mode conversion files 2018-05-28 11:02:35 -04:00
UDPSocket.h Original cross-mode conversion files 2018-05-28 11:02:35 -04:00
Utils.cpp Original cross-mode conversion files 2018-05-28 11:02:35 -04:00
Utils.h Original cross-mode conversion files 2018-05-28 11:02:35 -04:00
Version.h Updating to add the extra user configurable fields 2020-06-05 11:34:16 +01:00
WiresX.cpp Update WiresX.cpp 2020-05-02 19:13:42 +01:00
WiresX.h Removing busyTimer, no needed for YSF2XX 2019-02-04 10:43:21 -03:00
XLXHosts.txt Original cross-mode conversion files 2018-05-28 11:02:35 -04:00
YSF2DMR.cpp Add M172DMR 2020-11-03 19:04:48 -05:00
YSF2DMR.h Option to filter callsigns without DMR ID from YSF 2019-05-11 21:02:16 +03:00
YSF2DMR.ini Update YSF2DMR.ini 2020-06-14 16:38:07 +01:00
YSF2DMR.vcxproj Original cross-mode conversion files 2018-05-28 11:02:35 -04:00
YSF2DMR.vcxproj.filters Original cross-mode conversion files 2018-05-28 11:02:35 -04:00
YSFConvolution.cpp Original cross-mode conversion files 2018-05-28 11:02:35 -04:00
YSFConvolution.h Original cross-mode conversion files 2018-05-28 11:02:35 -04:00
YSFDefines.h Add setCM() support for FICH in YSF2DMR 2018-07-22 19:00:24 -04:00
YSFFICH.cpp Add setCM() support for FICH in YSF2DMR 2018-07-22 19:00:24 -04:00
YSFFICH.h Add setCM() support for FICH in YSF2DMR 2018-07-22 19:00:24 -04:00
YSFNetwork.cpp Original cross-mode conversion files 2018-05-28 11:02:35 -04:00
YSFNetwork.h Original cross-mode conversion files 2018-05-28 11:02:35 -04:00
YSFPayload.cpp Original cross-mode conversion files 2018-05-28 11:02:35 -04:00
YSFPayload.h Original cross-mode conversion files 2018-05-28 11:02:35 -04:00

README.md

Description

This is the source code of YSF2DMR, a software for digital voice conversion from Yaesu System Fusion to DMR digital mode, based on Jonathan G4KLX's MMDVM software.

You can use this software and YSFGateway at the same time, with the default YSF UDP ports (42000 and 42013). In this case, you can select the pseudo "YSF2DMR" reflector in the Wires-X list provided by YSFGateway.

Also, you can connect directly with MMDVMHost, changing the following ports in [YSF Network] section (YSF2DMR.ini):

DstPort=3200
LocalPort=4200

You have to select the destination DMR TG to connect (or private call):

StartupDstId=730
StartupPC=0

YSF2DMR looks for DMR ID of the YSF callsign in the DMRIds.dat file, in case of no coincidence, it will use your DMR ID. Also, all IDs from DMR Network will be converted to callsigns and you will see it at the display of your YSF radio.

You can also use the Wires-X function of your radio to select any DMR TG ID (or Reflector). In this case, you need to connect YSF2DMR directly to MMDVMHost in order to process correctly all Wires-X commands. Please edit the file TGList.txt and enter only your preferred DMR ID list. Use the disconnect function of your YSF radio (hold *) to send a call to TG 4000 for example.

If you want to connect directly to a XLX reflector (with DMR support), you only need to uncomment ([DMR Network] section):

XLXFile=XLXHosts.txt
XLXReflector=950
XLXModule=D

and replace XLXReflector and XLXModule according your preferences. Also, you need to configure the DMR port according the XLX reflector port, for example:

Port=62030

StartupDstId, StartupPC and Address parameters don't care in XLX mode.

This software is licenced under the GPL v2 and is intended for amateur and educational use only. Use of this software for commercial purposes is strictly forbidden.

Crosslink configuration

You can use YSF2DMR to link a YSF Reflector to a DMR network (without using any RF link):

YSFReflector <-> YSF2DMR <-> any DMR Network

Install the YSF2DMR software at the same server where YSFReflector software is located. Configure your [DMR Network] section (YSF2DMR.ini) as usual, depending on your preferred DMR network. Then, you only need to match the YSFReflector UDP port (Port in [Network], YSFReflector.ini) to YSF UDP port (DstPort in [YSF Network], YSF2DMR.ini).

For example, a common UDP port in YSFReflector.ini:

[Network]
Port=42000

Then you need to configure YSF2DMR.ini (example):

[YSF Network]
Callsign=CE1ABC
Suffix=ND
DstAddress=127.0.0.1
DstPort=42000
LocalAddress=127.0.0.1
LocalPort=42012
EnableWiresX=0
Daemon=0

You could also see at "service" folder of this project to see an example of Systemd automatic startup for YSF2DMR. Please see README for more information about installation.