MMDVM_CM/P252DMR
2020-06-15 21:36:11 +01:00
..
BPTC19696.cpp Adding P252DMR code from nostar 2020-06-14 16:49:11 +01:00
BPTC19696.h Adding P252DMR code from nostar 2020-06-14 16:49:11 +01:00
Conf.cpp Adding P252DMR code from nostar 2020-06-14 16:49:11 +01:00
Conf.h Adding P252DMR code from nostar 2020-06-14 16:49:11 +01:00
CRC.cpp Adding P252DMR code from nostar 2020-06-14 16:49:11 +01:00
CRC.h Adding P252DMR code from nostar 2020-06-14 16:49:11 +01:00
Defines.h Adding P252DMR code from nostar 2020-06-14 16:49:11 +01:00
DelayBuffer.cpp Adding P252DMR code from nostar 2020-06-14 16:49:11 +01:00
DelayBuffer.h Adding P252DMR code from nostar 2020-06-14 16:49:11 +01:00
DMRData.cpp Adding P252DMR code from nostar 2020-06-14 16:49:11 +01:00
DMRData.h Adding P252DMR code from nostar 2020-06-14 16:49:11 +01:00
DMRDefines.h Adding P252DMR code from nostar 2020-06-14 16:49:11 +01:00
DMREMB.cpp Adding P252DMR code from nostar 2020-06-14 16:49:11 +01:00
DMREMB.h Adding P252DMR code from nostar 2020-06-14 16:49:11 +01:00
DMREmbeddedData.cpp Adding P252DMR code from nostar 2020-06-14 16:49:11 +01:00
DMREmbeddedData.h Adding P252DMR code from nostar 2020-06-14 16:49:11 +01:00
DMRFullLC.cpp Adding P252DMR code from nostar 2020-06-14 16:49:11 +01:00
DMRFullLC.h Adding P252DMR code from nostar 2020-06-14 16:49:11 +01:00
DMRIds.dat Adding P252DMR code from nostar 2020-06-14 16:49:11 +01:00
DMRLC.cpp Adding P252DMR code from nostar 2020-06-14 16:49:11 +01:00
DMRLC.h Adding P252DMR code from nostar 2020-06-14 16:49:11 +01:00
DMRLookup.cpp Adding P252DMR code from nostar 2020-06-14 16:49:11 +01:00
DMRLookup.h Adding P252DMR code from nostar 2020-06-14 16:49:11 +01:00
DMRNetwork.cpp Adding P252DMR code from nostar 2020-06-14 16:49:11 +01:00
DMRNetwork.h Adding P252DMR code from nostar 2020-06-14 16:49:11 +01:00
DMRSlotType.cpp Adding P252DMR code from nostar 2020-06-14 16:49:11 +01:00
DMRSlotType.h Adding P252DMR code from nostar 2020-06-14 16:49:11 +01:00
Golay2087.cpp Adding P252DMR code from nostar 2020-06-14 16:49:11 +01:00
Golay2087.h Adding P252DMR code from nostar 2020-06-14 16:49:11 +01:00
Golay24128.cpp Adding P252DMR code from nostar 2020-06-14 16:49:11 +01:00
Golay24128.h Adding P252DMR code from nostar 2020-06-14 16:49:11 +01:00
Hamming.cpp Adding P252DMR code from nostar 2020-06-14 16:49:11 +01:00
Hamming.h Adding P252DMR code from nostar 2020-06-14 16:49:11 +01:00
imbe_vocoder_api.h Adding P252DMR code from nostar 2020-06-14 16:49:11 +01:00
LICENSE Adding P252DMR code from nostar 2020-06-14 16:49:11 +01:00
Log.cpp Adding P252DMR code from nostar 2020-06-14 16:49:11 +01:00
Log.h Adding P252DMR code from nostar 2020-06-14 16:49:11 +01:00
Makefile Update Makefile 2020-06-15 21:34:06 +01:00
MBEVocoder.cpp Rename mbevocoder.cpp to MBEVocoder.cpp 2020-06-15 21:35:53 +01:00
MBEVocoder.h Rename mbevocoder.h to MBEVocoder.h 2020-06-15 21:36:11 +01:00
ModeConv.cpp Adding P252DMR code from nostar 2020-06-14 16:49:11 +01:00
ModeConv.h Update ModeConv.h 2020-06-15 21:35:06 +01:00
Mutex.cpp Adding P252DMR code from nostar 2020-06-14 16:49:11 +01:00
Mutex.h Adding P252DMR code from nostar 2020-06-14 16:49:11 +01:00
P25Defines.h Adding P252DMR code from nostar 2020-06-14 16:49:11 +01:00
P25Network.cpp Adding P252DMR code from nostar 2020-06-14 16:49:11 +01:00
P25Network.h Adding P252DMR code from nostar 2020-06-14 16:49:11 +01:00
P252DMR.cpp Adding P252DMR code from nostar 2020-06-14 16:49:11 +01:00
P252DMR.h Adding P252DMR code from nostar 2020-06-14 16:49:11 +01:00
P252DMR.ini Adding P252DMR code from nostar 2020-06-14 16:49:11 +01:00
P252DMR.vcxproj Adding P252DMR code from nostar 2020-06-14 16:49:11 +01:00
P252DMR.vcxproj.filters Adding P252DMR code from nostar 2020-06-14 16:49:11 +01:00
QR1676.cpp Adding P252DMR code from nostar 2020-06-14 16:49:11 +01:00
QR1676.h Adding P252DMR code from nostar 2020-06-14 16:49:11 +01:00
README.md Adding P252DMR code from nostar 2020-06-14 16:49:11 +01:00
Reflectors.cpp Adding P252DMR code from nostar 2020-06-14 16:49:11 +01:00
Reflectors.h Adding P252DMR code from nostar 2020-06-14 16:49:11 +01:00
RingBuffer.h Adding P252DMR code from nostar 2020-06-14 16:49:11 +01:00
RS129.cpp Adding P252DMR code from nostar 2020-06-14 16:49:11 +01:00
RS129.h Adding P252DMR code from nostar 2020-06-14 16:49:11 +01:00
SHA256.cpp Adding P252DMR code from nostar 2020-06-14 16:49:11 +01:00
SHA256.h Adding P252DMR code from nostar 2020-06-14 16:49:11 +01:00
StopWatch.cpp Adding P252DMR code from nostar 2020-06-14 16:49:11 +01:00
StopWatch.h Adding P252DMR code from nostar 2020-06-14 16:49:11 +01:00
Sync.cpp Adding P252DMR code from nostar 2020-06-14 16:49:11 +01:00
Sync.h Adding P252DMR code from nostar 2020-06-14 16:49:11 +01:00
Thread.cpp Adding P252DMR code from nostar 2020-06-14 16:49:11 +01:00
Thread.h Adding P252DMR code from nostar 2020-06-14 16:49:11 +01:00
Timer.cpp Adding P252DMR code from nostar 2020-06-14 16:49:11 +01:00
Timer.h Adding P252DMR code from nostar 2020-06-14 16:49:11 +01:00
typedefs.h Adding P252DMR code from nostar 2020-06-14 16:49:11 +01:00
UDPSocket.cpp Adding P252DMR code from nostar 2020-06-14 16:49:11 +01:00
UDPSocket.h Adding P252DMR code from nostar 2020-06-14 16:49:11 +01:00
Utils.cpp Adding P252DMR code from nostar 2020-06-14 16:49:11 +01:00
Utils.h Adding P252DMR code from nostar 2020-06-14 16:49:11 +01:00
Version.h Adding P252DMR code from nostar 2020-06-14 16:49:11 +01:00

Description

This is the source code of P252DMR, a software for digital voice conversion from P25 to DMR digital mode, based on Jonathan G4KLX's MMDVM software. Unlike the other cross mode utilities upon which this is based, this utility performs software transcoding between IMBE 4400x2800(P25) and AMBE+2 2450x1150(DMR).

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.

Building

This utility is not built with the other cross mode ulitities, and has 2 external dependencies:

imbe_vocoder https://github.com/nostar/imbe_vocoder md380_vocoder https://github.com/nostar/md380_vocoder

With these dependencies installed, run 'make' from the source directory.

Crosslink configuration

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

P25Reflector <-> P252DMR <-> any DMR Network

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

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

[Network]
Port=41000

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

[P25 Network]
Callsign=CE1ABC
TG=10300
DstAddress=127.0.0.1
DstPort=41000
LocalAddress=127.0.0.1
LocalPort=41015
Daemon=0