The host program for the MMDVM
Find a file
Jonathan Naylor 0088b0b225
Merge pull request #688 from f1rmb/f1rmb_remote_command_unifying
Unitying RemoteCommand with latest DMRGateway's RemoteControl PR.
2021-03-22 19:16:37 +00:00
Images Revert "Merge branch 'M17_AX25_FM'" 2020-12-15 15:52:27 +00:00
linux New format of DMRIds.dat file 2020-12-29 12:41:06 +03:00
Nextion_DB2OE
Nextion_G4KLX Revert "Merge branch 'M17_AX25_FM'" 2020-12-15 15:52:27 +00:00
Nextion_ON7LDS
RSSI
TFTSerial Revert "Merge branch 'M17_AX25_FM'" 2020-12-15 15:52:27 +00:00
UMP Revert "Merge branch 'M17_AX25_FM'" 2020-12-15 15:52:27 +00:00
.gitignore
AMBEFEC.cpp
AMBEFEC.h
BCH.cpp
BCH.h
BPTC19696.cpp
BPTC19696.h
CASTInfo.cpp Revert "Merge branch 'M17_AX25_FM'" 2020-12-15 15:52:27 +00:00
CASTInfo.h Revert "Merge branch 'M17_AX25_FM'" 2020-12-15 15:52:27 +00:00
Conf.cpp Add mode 4 (force off) for the DMR OVCM flag. 2021-03-07 17:42:55 +00:00
Conf.h Revert "Merge branch 'M17_AX25_FM'" 2020-12-15 15:52:27 +00:00
CRC.cpp
CRC.h
Defines.h Add mode 4 (force off) for the DMR OVCM flag. 2021-03-07 17:42:55 +00:00
Display.cpp revise UserDB display setting on OLED 2021-03-10 21:09:58 +09:00
Display.h Revert "Merge branch 'M17_AX25_FM'" 2020-12-15 15:52:27 +00:00
DMRAccessControl.cpp
DMRAccessControl.h
DMRControl.cpp Revert "Merge branch 'M17_AX25_FM'" 2020-12-15 15:52:27 +00:00
DMRControl.h Revert "Merge branch 'M17_AX25_FM'" 2020-12-15 15:52:27 +00:00
DMRCSBK.cpp Add mode 4 (force off) for the DMR OVCM flag. 2021-03-07 17:42:55 +00:00
DMRCSBK.h Add mode 4 (force off) for the DMR OVCM flag. 2021-03-07 17:42:55 +00:00
DMRData.cpp
DMRData.h
DMRDataHeader.cpp
DMRDataHeader.h
DMRDefines.h
DMRDirectNetwork.cpp Move the host lookup for the DMR Direct Network. 2021-03-12 19:56:05 +00:00
DMRDirectNetwork.h Move the host lookup for the DMR Direct Network. 2021-03-12 19:56:05 +00:00
DMREMB.cpp
DMREMB.h
DMREmbeddedData.cpp
DMREmbeddedData.h
DMRFullLC.cpp
DMRFullLC.h
DMRGatewayNetwork.cpp DMR networking code cleanup. 2021-03-09 20:59:04 +00:00
DMRGatewayNetwork.h Reinstate the full RPTC command. 2020-12-09 09:41:11 +00:00
DMRIds.dat
DMRLC.cpp Add mode 4 (force off) for the DMR OVCM flag. 2021-03-07 17:42:55 +00:00
DMRLC.h Add mode 4 (force off) for the DMR OVCM flag. 2021-03-07 17:42:55 +00:00
DMRLookup.cpp Allow DMR/P25 and NXDN Id reload with a SIGUSR1 or via a remote command. 2021-01-01 13:54:03 +00:00
DMRLookup.h Allow DMR/P25 and NXDN Id reload with a SIGUSR1 or via a remote command. 2021-01-01 13:54:03 +00:00
DMRNetwork.cpp Allow optional direct connections to masters again. 2020-12-06 16:12:54 +00:00
DMRNetwork.h Reinstate the full RPTC command. 2020-12-09 09:41:11 +00:00
DMRplus_startup_options.md
DMRShortLC.cpp
DMRShortLC.h
DMRSlot.cpp Add mode 4 (force off) for the DMR OVCM flag. 2021-03-07 17:42:55 +00:00
DMRSlot.h Revert "Merge branch 'M17_AX25_FM'" 2020-12-15 15:52:27 +00:00
DMRSlotType.cpp
DMRSlotType.h
DMRTA.cpp
DMRTA.h
DMRTrellis.cpp
DMRTrellis.h
Dockerfile
DStarControl.cpp Add frame content details to D-Star debug logging 2021-01-01 17:55:48 -05:00
DStarControl.h Detect DV Fast Data on a per-frame basis 2020-11-29 16:12:58 -05:00
DStarDefines.h Avoid FEC regeneration and DTMF blanking for null AMBE data 2020-12-13 19:25:09 -05:00
DStarHeader.cpp
DStarHeader.h
DStarNetwork.cpp
DStarNetwork.h Clean ups for IPv6. 2020-09-06 12:54:08 +01:00
DStarSlowData.cpp
DStarSlowData.h
Golay2087.cpp
Golay2087.h
Golay24128.cpp
Golay24128.h
Hamming.cpp
Hamming.h
HD44780.cpp
HD44780.h
HD44780.layouts
I2CController.cpp Revert "Merge branch 'M17_AX25_FM'" 2020-12-15 15:52:27 +00:00
I2CController.h Revert "Merge branch 'M17_AX25_FM'" 2020-12-15 15:52:27 +00:00
ISSUES.txt Revert "Merge branch 'M17_AX25_FM'" 2020-12-15 15:52:27 +00:00
LCDproc.cpp Revert "Merge branch 'M17_AX25_FM'" 2020-12-15 15:52:27 +00:00
LCDproc.h Revert "Merge branch 'M17_AX25_FM'" 2020-12-15 15:52:27 +00:00
LICENCE
Log.cpp
Log.h
Makefile Revert "Merge branch 'M17_AX25_FM'" 2020-12-15 15:52:27 +00:00
Makefile.Pi Revert "Merge branch 'M17_AX25_FM'" 2020-12-15 15:52:27 +00:00
Makefile.Pi.Adafruit Revert "Merge branch 'M17_AX25_FM'" 2020-12-15 15:52:27 +00:00
Makefile.Pi.HD44780 Revert "Merge branch 'M17_AX25_FM'" 2020-12-15 15:52:27 +00:00
Makefile.Pi.OLED Revert "Merge branch 'M17_AX25_FM'" 2020-12-15 15:52:27 +00:00
Makefile.Pi.PCF8574 Revert "Merge branch 'M17_AX25_FM'" 2020-12-15 15:52:27 +00:00
MMDVM.ini Add mode 4 (force off) for the DMR OVCM flag. 2021-03-07 17:42:55 +00:00
MMDVMHost.cpp Add mode 4 (force off) for the DMR OVCM flag. 2021-03-07 17:42:55 +00:00
MMDVMHost.h Revert "Merge branch 'M17_AX25_FM'" 2020-12-15 15:52:27 +00:00
MMDVMHost.sln
MMDVMHost.vcxproj Revert "Merge branch 'M17_AX25_FM'" 2020-12-15 15:52:27 +00:00
MMDVMHost.vcxproj.filters Revert "Merge branch 'M17_AX25_FM'" 2020-12-15 15:52:27 +00:00
Modem.cpp Revert "Merge branch 'M17_AX25_FM'" 2020-12-15 15:52:27 +00:00
Modem.h Revert "Merge branch 'M17_AX25_FM'" 2020-12-15 15:52:27 +00:00
ModemSerialPort.cpp Revert "Merge branch 'M17_AX25_FM'" 2020-12-15 15:52:27 +00:00
ModemSerialPort.h Revert "Merge branch 'M17_AX25_FM'" 2020-12-15 15:52:27 +00:00
Mutex.cpp
Mutex.h
NetworkInfo.cpp
NetworkInfo.h
Nextion.cpp Revert "Merge branch 'M17_AX25_FM'" 2020-12-15 15:52:27 +00:00
Nextion.h Revert "Merge branch 'M17_AX25_FM'" 2020-12-15 15:52:27 +00:00
NullDisplay.cpp Revert "Merge branch 'M17_AX25_FM'" 2020-12-15 15:52:27 +00:00
NullDisplay.h Revert "Merge branch 'M17_AX25_FM'" 2020-12-15 15:52:27 +00:00
NullModem.cpp Revert "Merge branch 'M17_AX25_FM'" 2020-12-15 15:52:27 +00:00
NullModem.h Revert "Merge branch 'M17_AX25_FM'" 2020-12-15 15:52:27 +00:00
NXDN.csv
NXDNAudio.cpp
NXDNAudio.h
NXDNControl.cpp Revert "Merge branch 'M17_AX25_FM'" 2020-12-15 15:52:27 +00:00
NXDNControl.h
NXDNConvolution.cpp
NXDNConvolution.h
NXDNCRC.cpp
NXDNCRC.h
NXDNDefines.h
NXDNFACCH1.cpp
NXDNFACCH1.h
NXDNIcomNetwork.cpp
NXDNIcomNetwork.h Clean ups for IPv6. 2020-09-06 12:54:08 +01:00
NXDNKenwoodNetwork.cpp Clean ups for IPv6. 2020-09-06 12:54:08 +01:00
NXDNKenwoodNetwork.h
NXDNLayer3.cpp
NXDNLayer3.h
NXDNLICH.cpp
NXDNLICH.h
NXDNLookup.cpp Allow DMR/P25 and NXDN Id reload with a SIGUSR1 or via a remote command. 2021-01-01 13:54:03 +00:00
NXDNLookup.h Allow DMR/P25 and NXDN Id reload with a SIGUSR1 or via a remote command. 2021-01-01 13:54:03 +00:00
NXDNNetwork.cpp
NXDNNetwork.h
NXDNSACCH.cpp
NXDNSACCH.h
NXDNUDCH.cpp
NXDNUDCH.h
OLED.cpp revise UserDB display setting on OLED 2021-03-10 21:09:58 +09:00
OLED.h delete unused variable 2021-03-13 12:27:23 +09:00
OLED.md
P25Audio.cpp
P25Audio.h
P25Control.cpp
P25Control.h
P25Data.cpp
P25Data.h
P25Defines.h
P25LowSpeedData.cpp
P25LowSpeedData.h
P25Network.cpp
P25Network.h Clean ups for IPv6. 2020-09-06 12:54:08 +01:00
P25NID.cpp
P25NID.h
P25Trellis.cpp
P25Trellis.h
P25Utils.cpp
P25Utils.h
POCSAGControl.cpp Display the rubric of the encrypted messages. 2020-12-15 14:27:47 +00:00
POCSAGControl.h Display the decrypted text on the external displays. 2020-12-14 12:48:56 +00:00
POCSAGDefines.h
POCSAGNetwork.cpp
POCSAGNetwork.h
prebuild.cmd
QR1676.cpp
QR1676.h
README.daemon
README.HD44780
README.md Revert "Merge branch 'M17_AX25_FM'" 2020-12-15 15:52:27 +00:00
RemoteCommand.cpp Unitying RemoteCommand with latest DMRGateway's RemoteControl PR. 2021-03-20 18:12:25 +01:00
RemoteCommand.h
RemoteCommand.vcxproj
RemoteCommand.vcxproj.filters
RemoteControl.cpp Unitying RemoteCommand with latest DMRGateway's RemoteControl PR. 2021-03-20 18:12:25 +01:00
RemoteControl.h Allow DMR/P25 and NXDN Id reload with a SIGUSR1 or via a remote command. 2021-01-01 13:54:03 +00:00
RingBuffer.h
RS129.cpp
RS129.h
RS241213.cpp
RS241213.h
RSSI.dat
RSSIInterpolator.cpp
RSSIInterpolator.h
SerialController.cpp Revert "Merge branch 'M17_AX25_FM'" 2020-12-15 15:52:27 +00:00
SerialController.h Revert "Merge branch 'M17_AX25_FM'" 2020-12-15 15:52:27 +00:00
SerialPort.cpp
SerialPort.h
SHA256.cpp Allow optional direct connections to masters again. 2020-12-06 16:12:54 +00:00
SHA256.h Allow optional direct connections to masters again. 2020-12-06 16:12:54 +00:00
StopWatch.cpp
StopWatch.h
Sync.cpp Revert "Merge branch 'M17_AX25_FM'" 2020-12-15 15:52:27 +00:00
Sync.h Revert "Merge branch 'M17_AX25_FM'" 2020-12-15 15:52:27 +00:00
TFTSerial.cpp Revert "Merge branch 'M17_AX25_FM'" 2020-12-15 15:52:27 +00:00
TFTSerial.h Revert "Merge branch 'M17_AX25_FM'" 2020-12-15 15:52:27 +00:00
TFTSurenoo.cpp Revert "Merge branch 'M17_AX25_FM'" 2020-12-15 15:52:27 +00:00
TFTSurenoo.h Revert "Merge branch 'M17_AX25_FM'" 2020-12-15 15:52:27 +00:00
Thread.cpp
Thread.h
Timer.cpp
Timer.h
UDPSocket.cpp Fix missing Log.h handling in UDPSocket.cpp 2020-10-31 22:08:38 +00:00
UDPSocket.h
UMP.cpp Revert "Merge branch 'M17_AX25_FM'" 2020-12-15 15:52:27 +00:00
UMP.h Revert "Merge branch 'M17_AX25_FM'" 2020-12-15 15:52:27 +00:00
UserDB.cpp
UserDB.h
UserDBentry.cpp
UserDBentry.h
Utils.cpp Revert "First attempt at detecting D-Star data frames, Kenwood and Icom." 2020-11-27 18:01:02 -05:00
Utils.h Revert "First attempt at detecting D-Star data frames, Kenwood and Icom." 2020-11-27 18:01:02 -05:00
Version.h Move the host lookup for the DMR Direct Network. 2021-03-12 19:56:05 +00:00
YSFControl.cpp
YSFControl.h
YSFConvolution.cpp
YSFConvolution.h
YSFDefines.h
YSFFICH.cpp
YSFFICH.h
YSFNetwork.cpp
YSFNetwork.h Clean ups for IPv6. 2020-09-06 12:54:08 +01:00
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, System Fusion, POCSAG, and FM 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 connects to the DMR Gateway to allow for connection to multiple DMR networks, on System Fusion it connects to the YSF Gateway to allow access to the FCS and YSF networks. On P25 it connects to the P25 Gateway. On NXDN it connects to the NXDN Gateway which provides access to the NXDN and NXCore talk groups. It uses the DAPNET Gateway to access DAPNET to receive paging messages. Finally it uses the FM Gateway to interface to existing FM networks.

It builds on 32-bit and 64-bit Linux as well as on Windows using Visual Studio 2019 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 (all sizes, both Basic and Enhanced versions)
  • 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 OLED display needs an 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.