The host program for the MMDVM
Find a file
2018-02-01 18:32:23 +00:00
Images
linux
Nextion_DB2OE
Nextion_G4KLX
Nextion_ON7LDS
RSSI
TFTSerial
UMP
.gitignore
AMBEFEC.cpp
AMBEFEC.h
BCH.cpp
BCH.h
BPTC19696.cpp
BPTC19696.h
Conf.cpp
Conf.h
CRC.cpp
CRC.h
Defines.h
Display.cpp
Display.h
DMRAccessControl.cpp
DMRAccessControl.h
DMRControl.cpp
DMRControl.h
DMRCSBK.cpp
DMRCSBK.h
DMRData.cpp
DMRData.h
DMRDataHeader.cpp
DMRDataHeader.h
DMRDefines.h
DMREMB.cpp
DMREMB.h
DMREmbeddedData.cpp
DMREmbeddedData.h
DMRFullLC.cpp
DMRFullLC.h
DMRIds.dat
DMRLC.cpp
DMRLC.h
DMRLookup.cpp
DMRLookup.h
DMRNetwork.cpp
DMRNetwork.h
DMRplus_startup_options.md
DMRShortLC.cpp
DMRShortLC.h
DMRSlot.cpp
DMRSlot.h
DMRSlotType.cpp
DMRSlotType.h
DMRTrellis.cpp
DMRTrellis.h
Dockerfile
DStarControl.cpp
DStarControl.h
DStarDefines.h
DStarHeader.cpp
DStarHeader.h
DStarNetwork.cpp
DStarNetwork.h
DStarSlowData.cpp
DStarSlowData.h
Golay2087.cpp
Golay2087.h
Golay24128.cpp
Golay24128.h
Hamming.cpp
Hamming.h
HD44780.cpp
HD44780.h
HD44780.layouts
ISSUES.txt
JitterBuffer.cpp
JitterBuffer.h
LCDproc.cpp
LCDproc.h
LICENCE
Log.cpp
Log.h
Makefile
Makefile.Pi
Makefile.Pi.Adafruit
Makefile.Pi.HD44780
Makefile.Pi.OLED
Makefile.Pi.PCF8574
Makefile.Solaris
MMDVM.ini
MMDVMHost.cpp
MMDVMHost.h
MMDVMHost.sln
MMDVMHost.vcxproj
MMDVMHost.vcxproj.filters
Modem.cpp
Modem.h
ModemSerialPort.cpp
ModemSerialPort.h
Mutex.cpp
Mutex.h
NetworkInfo.cpp
NetworkInfo.h
Nextion.cpp
Nextion.h
NullDisplay.cpp
NullDisplay.h
NXDNControl.cpp
NXDNControl.h
NXDNConvolution.cpp
NXDNConvolution.h
NXDNCRC.cpp
NXDNCRC.h
NXDNDefines.h
NXDNFACCH1.cpp
NXDNFACCH1.h
NXDNLayer3.cpp
NXDNLayer3.h
NXDNLICH.cpp
NXDNLICH.h
NXDNLookup.cpp
NXDNLookup.h
NXDNNetwork.cpp
NXDNNetwork.h
NXDNSACCH.cpp
NXDNSACCH.h
NXDNUDCH.cpp
NXDNUDCH.h
nxuid_export.csv
OLED.cpp
OLED.h
OLED.md
P25Audio.cpp
P25Audio.h
P25Control.cpp
P25Control.h
P25Data.cpp
P25Data.h
P25Defines.h
P25LowSpeedData.cpp
P25LowSpeedData.h
P25Network.cpp
P25Network.h
P25NID.cpp
P25NID.h
P25Trellis.cpp
P25Trellis.h
P25Utils.cpp
P25Utils.h
prebuild.cmd
QR1676.cpp
QR1676.h
README.daemon
README.HD44780
README.md
RingBuffer.h
RS129.cpp
RS129.h
RS241213.cpp
RS241213.h
RSSI.dat
RSSIInterpolator.cpp
RSSIInterpolator.h
SerialController.cpp
SerialController.h
SerialPort.cpp
SerialPort.h
SHA256.cpp
SHA256.h
StopWatch.cpp
StopWatch.h
Sync.cpp
Sync.h
TFTSerial.cpp
TFTSerial.h
Thread.cpp
Thread.h
Timer.cpp
Timer.h
UDPSocket.cpp
UDPSocket.h
UMP.cpp
UMP.h
Utils.cpp
Utils.h
Version.h
YSFControl.cpp
YSFControl.h
YSFConvolution.cpp
YSFConvolution.h
YSFDefines.h
YSFFICH.cpp
YSFFICH.h
YSFNetwork.cpp
YSFNetwork.h
YSFPayload.cpp
YSFPayload.h

These are the source files for building the MMDVMHost, the program that interfaces to the MMDVM or DVMega on the one side, and a suitable network on the other. It supports D-Star, DMR, P25 Phase 1, NXDN, and System Fusion on the MMDVM, and D-Star, DMR, and System Fusion on the DVMega.

On the D-Star side the MMDVMHost interfaces with the ircDDB Gateway, on DMR it can connect to BrandMeister, DMR+, HB Link, XLX or DMRGateway (to connect to multiple DMR networks at once) on System Fusion it connects to the YSF Gateway. On P25 it connects to the P25 Gateway.

It builds on 32-bit and 64-bit Linux as well as on Windows using Visual Studio 2017 on x86 and x64. It can optionally control various Displays. Currently these are:

  • HD44780 (sizes 2x16, 2x40, 4x16, 4x20)
    • Support for HD44780 via 4 bit GPIO connection (user selectable pins)
    • Adafruit 16x2 LCD+Keypad Kits (I2C)
    • Connection via PCF8574 GPIO Extender (I2C)
  • Nextion TFTs (sizes 2.4", 2.8", 3.2" and 3.5")
  • TFT display sold by Hobbytronics in UK
  • OLED 128x64 (SSD1306)
  • LCDproc

The Nextion displays can connect to the UART on the Raspberry Pi, or via a USB to TTL serial converter like the FT-232RL. It may also be connected to the UART output of the MMDVM modem (Arduino Due, STM32, Teensy), or to the UART output on the UMP.

The HD44780 displays are integrated with wiringPi for Raspberry Pi based platforms.

The Hobbytronics TFT Display, which is a Pi-Hat, connects to the UART on the Raspbery Pi.

The OLED display needs a extra library see OLED.md

The LCDproc support enables the use of a multitude of other LCD screens. See the supported devices page on the LCDproc website for more info.

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.