Go to file
Jonathan Naylor 72654cf02a Fix missing Log.h handling in UDPSocket.cpp 2020-10-31 22:08:38 +00:00
Images Better YSF image 2018-08-12 11:27:03 +02:00
Nextion_DB2OE Add DB2OE Nextion layouts. 2017-08-20 12:35:03 +01:00
Nextion_G4KLX
Nextion_ON7LDS Add more dynamic variables and fix command manging 2018-09-05 16:12:12 -04:00
RSSI Create RSSI_FC-302_RptrBldrV2.dat 2018-02-04 14:30:23 +01:00
TFTSerial Change the NXDN image to be less garish. 2018-01-22 20:17:47 +00:00
UMP nitial commit of POCSAG files. 2018-06-07 18:46:03 +01:00
linux Added a new address the id's list 2020-08-10 15:36:12 +03:00
.gitignore Fix some bugs 2019-01-08 15:13:18 +01:00
AMBEFEC.cpp Re-add the audio blanking for too corrupt audio in DMR, NXDN and YSFDN 2018-03-07 20:14:07 +00:00
AMBEFEC.h Re-add the audio blanking for too corrupt audio in DMR, NXDN and YSFDN 2018-03-07 20:14:07 +00:00
BCH.cpp
BCH.h Add the P25 NID BCH encoder. 2016-09-19 21:41:34 +01:00
BPTC19696.cpp Add new Hamming for YSF. 2016-04-19 06:50:51 +01:00
BPTC19696.h Initial commit 2016-01-14 18:45:04 +00:00
CASTInfo.cpp
CASTInfo.h
CRC.cpp Decode and encode the System Fusion FICH. 2016-02-23 19:30:35 +00:00
CRC.h
Conf.cpp Add optional log file rotation and UDP socket reopening. 2020-10-31 21:35:09 +00:00
Conf.h
DMRAccessControl.cpp Cleanup the access control slightly. 2017-07-16 19:31:27 +01:00
DMRAccessControl.h Add RSSI display for all modes. 2017-01-05 19:15:10 +00:00
DMRCSBK.cpp
DMRCSBK.h
DMRControl.cpp
DMRControl.h
DMRData.cpp
DMRData.h Roll back the jitter buffer changes. 2018-02-08 20:25:03 +00:00
DMRDataHeader.cpp
DMRDataHeader.h
DMRDefines.h
DMREMB.cpp
DMREMB.h Renamed DMR protocol files. 2016-02-15 18:45:57 +00:00
DMREmbeddedData.cpp Fixing last byte of Embedded Data 2017-04-04 23:02:19 -03:00
DMREmbeddedData.h Upgrade the Embedded Data regeneration. 2017-01-10 19:27:12 +00:00
DMRFullLC.cpp Finally fix the (re)generation of Full LC PDUs. 2016-02-22 22:27:03 +00:00
DMRFullLC.h Renamed DMR protocol files. 2016-02-15 18:45:57 +00:00
DMRIds.dat
DMRLC.cpp
DMRLC.h Add OVCM support. 2019-10-11 18:24:25 +01:00
DMRLookup.cpp cosme 2020-03-10 05:26:45 +09:00
DMRLookup.h use UserDBentry from findWithName() to writeDMR(), add writeDMREx() 2020-03-08 08:06:27 +09:00
DMRNetwork.cpp Clean ups for IPv6. 2020-09-06 12:54:08 +01:00
DMRNetwork.h Clean ups for IPv6. 2020-09-06 12:54:08 +01:00
DMRShortLC.cpp
DMRShortLC.h
DMRSlot.cpp
DMRSlot.h
DMRSlotType.cpp
DMRSlotType.h
DMRTA.cpp
DMRTA.h
DMRTrellis.cpp Improve the FEC reconstruction a little. 2016-07-19 17:24:11 +01:00
DMRTrellis.h
DMRplus_startup_options.md how to work with the Options-settings 2016-11-11 22:05:26 +01:00
DStarControl.cpp DStar SelfOnly with WhiteList 2019-10-06 16:15:25 +02:00
DStarControl.h DStar SelfOnly with WhiteList (beautyfied) 2019-10-06 16:29:57 +02:00
DStarDefines.h
DStarHeader.cpp
DStarHeader.h
DStarNetwork.cpp Clean ups for IPv6. 2020-09-06 12:54:08 +01:00
DStarNetwork.h Clean ups for IPv6. 2020-09-06 12:54:08 +01:00
DStarSlowData.cpp
DStarSlowData.h
Defines.h Add FM mode display. 2020-04-11 20:42:05 +01:00
Display.cpp Remove the location information from the new config message. 2020-08-27 10:13:02 +01:00
Display.h
Dockerfile
Golay2087.cpp Initial commit 2016-01-14 18:45:04 +00:00
Golay2087.h Initial commit 2016-01-14 18:45:04 +00:00
Golay24128.cpp
Golay24128.h The beginnings of simple System Fusion support. 2016-02-04 19:17:39 +00:00
HD44780.cpp Change the displays to show the DG-ID instead of the TO field for YSF. 2020-08-09 19:23:18 +01:00
HD44780.h Display and log the DG-ID in the Fusion mode. 2020-08-09 15:09:08 +01:00
HD44780.layouts
Hamming.cpp
Hamming.h More work with decoding and regenerating P25. 2016-09-13 18:27:50 +01:00
I2CController.cpp I2C support is only Linux. 2019-03-13 20:30:49 +09:00
I2CController.h
ISSUES.txt
LCDproc.cpp
LCDproc.h Display and log the DG-ID in the Fusion mode. 2020-08-09 15:09:08 +01:00
LICENCE Initial commit 2016-01-14 18:45:04 +00:00
Log.cpp
Log.h
MMDVM.ini Add optional log file rotation and UDP socket reopening. 2020-10-31 21:35:09 +00:00
MMDVMHost.cpp
MMDVMHost.h Simplify the Host to DMR Gateway protocol. 2020-08-26 09:29:11 +01:00
MMDVMHost.sln Add VS2017 files for Remote Command. 2019-01-19 17:27:41 +00:00
MMDVMHost.vcxproj
MMDVMHost.vcxproj.filters Remove the unused SHA256 functions. 2020-08-27 09:00:49 +01:00
Makefile
Makefile.Pi Make all of the other Makefiles use the system default compilers. 2020-09-06 14:29:29 +01:00
Makefile.Pi.Adafruit Make all of the other Makefiles use the system default compilers. 2020-09-06 14:29:29 +01:00
Makefile.Pi.HD44780 Make all of the other Makefiles use the system default compilers. 2020-09-06 14:29:29 +01:00
Makefile.Pi.OLED Merge branch 'master' into SimpleDMR 2020-10-05 12:48:57 +01:00
Makefile.Pi.PCF8574
Modem.cpp Change the displays to show the DG-ID instead of the TO field for YSF. 2020-08-09 19:23:18 +01:00
Modem.h
ModemSerialPort.cpp
ModemSerialPort.h Allow the modem to host a serial display. 2016-10-06 18:38:16 +01:00
Mutex.cpp
Mutex.h
NXDN.csv
NXDNAudio.cpp
NXDNAudio.h Start on the NXDN Icom network audio handling. 2018-02-19 19:09:01 +00:00
NXDNCRC.cpp
NXDNCRC.h
NXDNControl.cpp More work on integrating the Kenwood NXDN protocol. 2020-05-27 12:07:21 +01:00
NXDNControl.h
NXDNConvolution.cpp
NXDNConvolution.h Add more NXDN support files. 2018-01-17 21:21:25 +00:00
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 Clean ups for IPv6. 2020-09-06 12:54:08 +01:00
NXDNLICH.cpp Simplify the LICH processing. 2018-03-21 18:44:33 +00:00
NXDNLICH.h Simplify the LICH processing. 2018-03-21 18:44:33 +00:00
NXDNLayer3.cpp Add correct LICH direction to match Icom repeaters. 2018-05-23 18:30:40 +01:00
NXDNLayer3.h
NXDNLookup.cpp
NXDNLookup.h
NXDNNetwork.cpp Start adding the Kenwood protocol as an option. 2020-05-27 11:38:46 +01:00
NXDNNetwork.h
NXDNSACCH.cpp Fix file attributes for source files. 2018-06-13 18:55:03 +01:00
NXDNSACCH.h
NXDNUDCH.cpp Insert the correct bytes for data transmissions in the Icom protocol. 2018-05-17 19:23:01 +01:00
NXDNUDCH.h
NetworkInfo.cpp
NetworkInfo.h
Nextion.cpp
Nextion.h Remove the location information from the new config message. 2020-08-27 10:13:02 +01:00
NullDisplay.cpp Display and log the DG-ID in the Fusion mode. 2020-08-09 15:09:08 +01:00
NullDisplay.h Display and log the DG-ID in the Fusion mode. 2020-08-09 15:09:08 +01:00
NullModem.cpp Add UseCOSAsLockout and FM Access Mode parameters. 2020-07-13 16:02:04 +01:00
NullModem.h
OLED.cpp
OLED.h
OLED.md Update OLED.md 2019-12-04 15:07:54 +01:00
P25Audio.cpp
P25Audio.h Add the IMBE packing/unpacking code. 2016-09-21 07:04:12 +01:00
P25Control.cpp Add P25 end of transmission data. 2019-09-29 16:34:56 +01:00
P25Control.h Reset the mode's state machines when going to the disabled state. 2019-01-19 17:15:24 +00:00
P25Data.cpp Revert "Merge pull request #462 from gatekeep/master" 2018-11-12 09:48:00 +00:00
P25Data.h
P25Defines.h Revert "Merge pull request #462 from gatekeep/master" 2018-11-12 09:48:00 +00:00
P25LowSpeedData.cpp
P25LowSpeedData.h Finish off the basics of the P25 network handling. 2016-09-22 19:39:19 +01:00
P25NID.cpp Fix other crashes 2018-08-20 00:47:45 -03:00
P25NID.h
P25Network.cpp
P25Network.h Clean ups for IPv6. 2020-09-06 12:54:08 +01:00
P25Trellis.cpp Fix P25 data reception, regeneration, and transmission. 2018-01-16 23:26:05 +00:00
P25Trellis.h
P25Utils.cpp
P25Utils.h
POCSAGControl.cpp Fix silly bug. 2019-01-23 08:50:22 +00:00
POCSAGControl.h
POCSAGDefines.h Add POCSAG processing and display code. 2018-06-11 21:30:49 +01:00
POCSAGNetwork.cpp
POCSAGNetwork.h Clean ups for IPv6. 2020-09-06 12:54:08 +01:00
QR1676.cpp
QR1676.h
README.HD44780
README.daemon
README.md
RS129.cpp Initial commit 2016-01-14 18:45:04 +00:00
RS129.h
RS241213.cpp Revert "Merge pull request #462 from gatekeep/master" 2018-11-12 09:48:00 +00:00
RS241213.h Revert "Merge pull request #462 from gatekeep/master" 2018-11-12 09:48:00 +00:00
RSSI.dat Use a linear interpolator for the reported RSSI values. 2016-12-21 19:58:46 +00:00
RSSIInterpolator.cpp
RSSIInterpolator.h
RemoteCommand.cpp
RemoteCommand.h
RemoteCommand.vcxproj Update files to VS2019. 2020-02-14 20:53:21 +00:00
RemoteCommand.vcxproj.filters
RemoteControl.cpp
RemoteControl.h Merge remote-tracking branch 'origin' into ipv6 2020-06-12 20:24:17 +09:00
RingBuffer.h
SerialController.cpp Simplify termios setting for serial port 2020-03-25 14:32:27 +09:00
SerialController.h
SerialPort.cpp
SerialPort.h
StopWatch.cpp Simplify the new stopwatch code. 2018-07-15 20:33:14 +01:00
StopWatch.h
Sync.cpp More superficial NXDN work. 2018-01-11 20:59:32 +00:00
Sync.h More superficial NXDN work. 2018-01-11 20:59:32 +00:00
TFTSerial.cpp
TFTSerial.h Display and log the DG-ID in the Fusion mode. 2020-08-09 15:09:08 +01:00
TFTSurenoo.cpp Change the displays to show the DG-ID instead of the TO field for YSF. 2020-08-09 19:23:18 +01:00
TFTSurenoo.h Display and log the DG-ID in the Fusion mode. 2020-08-09 15:09:08 +01:00
Thread.cpp NetBSD and other changes. 2020-10-05 12:46:54 +01:00
Thread.h Fix Linux threading compile issues. 2016-06-06 19:26:47 +01:00
Timer.cpp Initial commit 2016-01-14 18:45:04 +00:00
Timer.h
UDPSocket.cpp
UDPSocket.h Fix Windows execution. 2020-09-20 21:31:32 +01:00
UMP.cpp Add CD LED functionality to MMDVMHost 2016-11-17 11:48:42 +01:00
UMP.h Add CD LED functionality to MMDVMHost 2016-11-17 11:48:42 +01:00
UserDB.cpp
UserDB.h
UserDBentry.cpp get() goes const, add clear() 2020-03-08 07:55:08 +09:00
UserDBentry.h get() goes const, add clear() 2020-03-08 07:55:08 +09:00
Utils.cpp
Utils.h First attempt at detecting D-Star data frames, Kenwood and Icom. 2018-11-12 11:57:34 +00:00
Version.h Add optional log file rotation and UDP socket reopening. 2020-10-31 21:35:09 +00:00
YSFControl.cpp Fix bug added in FICH regeneration. 2020-10-13 10:11:13 +01:00
YSFControl.h
YSFConvolution.cpp Change M to improve the decoding. 2016-04-21 11:17:20 +01:00
YSFConvolution.h
YSFDefines.h
YSFFICH.cpp
YSFFICH.h Regenerate the FICH correctly. 2020-10-13 10:07:31 +01:00
YSFNetwork.cpp
YSFNetwork.h Clean ups for IPv6. 2020-09-06 12:54:08 +01:00
YSFPayload.cpp
YSFPayload.h Regenerate the odd VW mode message after the header. 2020-09-24 13:47:31 +01:00
prebuild.cmd Fixed typo in generated header file and tested more 2017-03-10 03:32:00 +00:00

README.md

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 can connect to BrandMeister, DMR+, TGIF, HB Link, XLX or DMRGateway (to connect to multiple DMR networks at once) 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)
  • 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 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.