Conversion software for Yaesu System Fusion to DMR
Switch branches/tags
Nothing to show
Clone or download
Latest commit b808e77 May 28, 2018
Permalink
Failed to load latest commit information.
service Add README for service Mar 10, 2018
APRSReader.cpp Some fix from Manuel EA7EE Mar 14, 2018
APRSReader.h Add Windows compatibility, part 2/2 Feb 25, 2018
APRSWriter.cpp Add original Manuel EA7EE work for TG selection from YSF radio Feb 24, 2018
APRSWriter.h Add original Manuel EA7EE work for TG selection from YSF radio Feb 24, 2018
APRSWriterThread.cpp Remove one log message and APRS not enabled by default Mar 1, 2018
APRSWriterThread.h Add original Manuel EA7EE work for TG selection from YSF radio Feb 24, 2018
BPTC19696.cpp First commit, original G4KLX files Jan 22, 2018
BPTC19696.h First commit, original G4KLX files Jan 22, 2018
CRC.cpp checkCCITT16 is equivalent to checkCCITT162 Feb 25, 2018
CRC.h checkCCITT16 is equivalent to checkCCITT162 Feb 25, 2018
Conf.cpp Add new options to config file Apr 9, 2018
Conf.h Add new options to config file Apr 9, 2018
DMRData.cpp Preparing for XLX direct connection (WIP) Apr 9, 2018
DMRData.h Preparing for XLX direct connection (WIP) Apr 9, 2018
DMRDefines.h Re-ordening DMR silence frame Feb 10, 2018
DMREMB.cpp First commit, original G4KLX files Jan 22, 2018
DMREMB.h First commit, original G4KLX files Jan 22, 2018
DMREmbeddedData.cpp First commit, original G4KLX files Jan 22, 2018
DMREmbeddedData.h First commit, original G4KLX files Jan 22, 2018
DMRFullLC.cpp First commit, original G4KLX files Jan 22, 2018
DMRFullLC.h First commit, original G4KLX files Jan 22, 2018
DMRIds.dat Updating DMRIds.dat and XLXHosts.txt May 6, 2018
DMRLC.cpp First commit, original G4KLX files Jan 22, 2018
DMRLC.h First commit, original G4KLX files Jan 22, 2018
DMRLookup.cpp Fix mutex bug in DMR lookup Apr 14, 2018
DMRLookup.h Adding callsign to ID lookup, from YSF -> DMR Jan 28, 2018
DMRNetwork.cpp Preparing for XLX direct connection (WIP) Apr 9, 2018
DMRNetwork.h Preparing for XLX direct connection (WIP) Apr 9, 2018
DMRSlotType.cpp First commit, original G4KLX files Jan 22, 2018
DMRSlotType.h First commit, original G4KLX files Jan 22, 2018
DTMF.cpp More small changes Feb 26, 2018
DTMF.h More small changes Feb 26, 2018
Defines.h Add G4KLX DelayBuffer implementation, proper bypass for the JitterBuffer Feb 6, 2018
DelayBuffer.cpp Update to latest master version Feb 24, 2018
DelayBuffer.h Update to latest master version Feb 24, 2018
GPS.cpp Add original Manuel EA7EE work for TG selection from YSF radio Feb 24, 2018
GPS.h Add original Manuel EA7EE work for TG selection from YSF radio Feb 24, 2018
Golay2087.cpp First commit, original G4KLX files Jan 22, 2018
Golay2087.h First commit, original G4KLX files Jan 22, 2018
Golay24128.cpp First commit, original G4KLX files Jan 22, 2018
Golay24128.h First commit, original G4KLX files Jan 22, 2018
Hamming.cpp First commit, original G4KLX files Jan 22, 2018
Hamming.h First commit, original G4KLX files Jan 22, 2018
LICENCE Adding GPL2 Licence Jan 22, 2018
Log.cpp First commit, original G4KLX files Jan 22, 2018
Log.h First commit, original G4KLX files Jan 22, 2018
Makefile Preparing for XLX direct connection (WIP) Apr 9, 2018
ModeConv.cpp Not necessary Golay calculation for unpacking AMBE (G4KLX optimization) Mar 11, 2018
ModeConv.h Eliminate compilation warnings under Linux Feb 6, 2018
Mutex.cpp Adding more progress Jan 24, 2018
Mutex.h Adding more progress Jan 24, 2018
QR1676.cpp First commit, original G4KLX files Jan 22, 2018
QR1676.h First commit, original G4KLX files Jan 22, 2018
README.md Update README May 28, 2018
RS129.cpp Eliminate compilation warnings under Linux Feb 6, 2018
RS129.h First commit, original G4KLX files Jan 22, 2018
Reflectors.cpp Preparing for XLX direct connection (WIP) Apr 9, 2018
Reflectors.h Preparing for XLX direct connection (WIP) Apr 9, 2018
RingBuffer.h First commit, original G4KLX files Jan 22, 2018
SHA256.cpp First commit, original G4KLX files Jan 22, 2018
SHA256.h First commit, original G4KLX files Jan 22, 2018
StopWatch.cpp First commit, original G4KLX files Jan 22, 2018
StopWatch.h First commit, original G4KLX files Jan 22, 2018
Sync.cpp Modifying CSync to include only DMR and YSF Jan 22, 2018
Sync.h Modifying CSync to include only DMR and YSF Jan 22, 2018
TCPSocket.cpp Add original Manuel EA7EE work for TG selection from YSF radio Feb 24, 2018
TCPSocket.h Add original Manuel EA7EE work for TG selection from YSF radio Feb 24, 2018
TGList-DMR.txt Change TGList.txt name May 16, 2018
Thread.cpp First commit, original G4KLX files Jan 22, 2018
Thread.h First commit, original G4KLX files Jan 22, 2018
Timer.cpp First commit, original G4KLX files Jan 22, 2018
Timer.h First commit, original G4KLX files Jan 22, 2018
UDPSocket.cpp First commit, original G4KLX files Jan 22, 2018
UDPSocket.h First commit, original G4KLX files Jan 22, 2018
Utils.cpp First commit, original G4KLX files Jan 22, 2018
Utils.h First commit, original G4KLX files Jan 22, 2018
Version.h Bump the version date Apr 15, 2018
WiresX.cpp Fix Windows compilation error Mar 3, 2018
WiresX.h Better support for reflector calls and private calls Feb 27, 2018
XLXHosts.txt Updating DMRIds.dat and XLXHosts.txt May 6, 2018
YSF2DMR.cpp Fix crash for empty YSF callsign field Apr 22, 2018
YSF2DMR.h Finishing support for XLX connection Apr 9, 2018
YSF2DMR.ini Change TGList.txt name May 16, 2018
YSF2DMR.vcxproj Preparing for XLX direct connection (WIP) Apr 9, 2018
YSF2DMR.vcxproj.filters Preparing for XLX direct connection (WIP) Apr 9, 2018
YSFConvolution.cpp First commit, original G4KLX files Jan 22, 2018
YSFConvolution.h First commit, original G4KLX files Jan 22, 2018
YSFDefines.h First commit, original G4KLX files Jan 22, 2018
YSFFICH.cpp Matching some function names Jan 22, 2018
YSFFICH.h Adding new bits support for FICH Jan 22, 2018
YSFNetwork.cpp Fix default src ID in DMR and optimizing callsign management Jan 25, 2018
YSFNetwork.h Fix default src ID in DMR and optimizing callsign management Jan 25, 2018
YSFPayload.cpp Disabling hex dumps Feb 25, 2018
YSFPayload.h Add original Manuel EA7EE work for TG selection from YSF radio Feb 24, 2018

README.md

Note

This repository will not be updated. Please see the new repository for cross-mode conversion tools: MMDVM_CM

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.