The host program for the MMDVM
Find a file
2018-01-15 21:29:59 +00:00
Images A better quality P25 logo. 2016-09-10 17:52:03 +01:00
linux Update docker-compose.yml 2018-01-06 16:51:47 +01:00
Nextion_DB2OE Add DB2OE Nextion layouts. 2017-08-20 12:35:03 +01:00
Nextion_G4KLX Add DB2OE Nextion layouts. 2017-08-20 12:35:03 +01:00
Nextion_ON7LDS Changed the display layout examples and readme to reflect the code changes 2017-12-31 19:28:00 +01:00
RSSI Data was taken with F0DEI PCB v1.2 instead of ZUM v1.0 2017-08-09 12:30:38 +02:00
TFTSerial Move TFTSerial images to their own directory. 2016-03-19 19:11:28 +00:00
UMP Move LOCKOUT to pin 12 to accommodate the AltSoftSerial Library 2016-11-22 23:36:23 +02:00
.gitignore corrected case 2017-03-10 04:21:40 +00:00
AMBEFEC.cpp A semi-working P25 repeater without much FEC. 2016-09-12 23:26:05 +01:00
AMBEFEC.h A semi-working P25 repeater without much FEC. 2016-09-12 23:26:05 +01:00
BCH.cpp Change the semantics of the NID processor. 2016-09-19 22:26:42 +01:00
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
Conf.cpp Merge branch 'master' into nxdn 2018-01-15 21:12:56 +00:00
Conf.h Merge branch 'master' into nxdn 2018-01-15 21:12:56 +00:00
CRC.cpp Decode and encode the System Fusion FICH. 2016-02-23 19:30:35 +00:00
CRC.h Decode and encode the System Fusion FICH. 2016-02-23 19:30:35 +00:00
Defines.h Initial commit of NXDN scaffolding. 2018-01-11 19:35:33 +00:00
Display.cpp Removed code to display DMR inband GPS data 2017-12-30 19:30:05 +01:00
Display.h Removed code to display DMR inband GPS data 2017-12-30 19:30:05 +01:00
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
DMRControl.cpp Add the jitter buffer for DMR. 2018-01-10 19:05:59 +00:00
DMRControl.h Add the jitter buffer for DMR. 2018-01-10 19:05:59 +00:00
DMRCSBK.cpp Increase CSBK debugging data level. 2016-12-12 09:35:53 +00:00
DMRCSBK.h Add extra Preamble CSBK data dumping. 2016-12-11 16:01:30 +00:00
DMRData.cpp Basic jitter buffer for DMR, unfinished work. 2017-11-23 11:54:45 +00:00
DMRData.h Basic jitter buffer for DMR, unfinished work. 2017-11-23 11:54:45 +00:00
DMRDataHeader.cpp Remove unused code. 2017-05-19 08:35:14 +01:00
DMRDataHeader.h Remove unneeded code. 2017-05-15 22:12:39 +01:00
DMRDefines.h Display DMR embedded data. 2016-12-31 16:01:26 +00:00
DMREMB.cpp Renamed DMR protocol files. 2016-02-15 18:45:57 +00:00
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 Update DMR Ids. 2017-11-28 21:20:37 +00:00
DMRLC.cpp Add more asserts to catch bugs. 2016-03-07 20:21:55 +00:00
DMRLC.h Finally fix the (re)generation of Full LC PDUs. 2016-02-22 22:27:03 +00:00
DMRLookup.cpp Add stricter P25 id checking. 2017-08-19 12:37:32 +01:00
DMRLookup.h Add stricter P25 id checking. 2017-08-19 12:37:32 +01:00
DMRNetwork.cpp Bypass sequence numbers for DMR data frames with the jitter buffer. 2018-01-15 19:58:13 +00:00
DMRNetwork.h Add the jitter buffer for DMR. 2018-01-10 19:05:59 +00:00
DMRplus_startup_options.md how to work with the Options-settings 2016-11-11 22:05:26 +01:00
DMRShortLC.cpp Add more asserts to catch bugs. 2016-03-07 20:21:55 +00:00
DMRShortLC.h Renamed DMR protocol files. 2016-02-15 18:45:57 +00:00
DMRSlot.cpp Only reset the stream id at the end, not the beginning. 2018-01-12 07:06:38 +00:00
DMRSlot.h Add the jitter buffer for DMR. 2018-01-10 19:05:59 +00:00
DMRSlotType.cpp Renamed DMR protocol files. 2016-02-15 18:45:57 +00:00
DMRSlotType.h Renamed DMR protocol files. 2016-02-15 18:45:57 +00:00
DMRTrellis.cpp Improve the FEC reconstruction a little. 2016-07-19 17:24:11 +01:00
DMRTrellis.h Improve the FEC reconstruction a little. 2016-07-19 17:24:11 +01:00
Dockerfile Remove Log repertory 2018-01-04 01:09:37 +01:00
DStarControl.cpp Add remote gateway modes to D-Star and P25. 2017-11-09 09:21:22 +00:00
DStarControl.h Add remote gateway modes to D-Star and P25. 2017-11-09 09:21:22 +00:00
DStarDefines.h Improve silence insertion. 2016-07-11 20:08:14 +01:00
DStarHeader.cpp Remobe AMBE regeneration on data packets. 2016-10-05 07:42:41 +01:00
DStarHeader.h Remobe AMBE regeneration on data packets. 2016-10-05 07:42:41 +01:00
DStarNetwork.cpp Changes for DVMega via the host. 2016-03-08 17:26:51 +00:00
DStarNetwork.h Changes for DVMega via the host. 2016-03-08 17:26:51 +00:00
DStarSlowData.cpp Fix the CCITT16 checksums for CSBK, DMR Data and D-Star Headers. 2016-02-18 21:56:26 +00:00
DStarSlowData.h Add the status ack to D-Star. 2016-02-01 20:49:52 +00:00
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 The beginnings of simple System Fusion support. 2016-02-04 19:17:39 +00:00
Golay24128.h The beginnings of simple System Fusion support. 2016-02-04 19:17:39 +00:00
Hamming.cpp More work with decoding and regenerating P25. 2016-09-13 18:27:50 +01:00
Hamming.h More work with decoding and regenerating P25. 2016-09-13 18:27:50 +01:00
HD44780.cpp Still more LCD RSSI display fettling 2017-01-08 09:37:17 +00:00
HD44780.h Add RSSI to (4-line) HD44780 displays 2017-01-06 21:24:07 +00:00
HD44780.layouts D-Star: Redesign HD44780 layouts 2016-09-29 19:47:41 +01:00
ISSUES.txt Update ISSUES.txt 2017-04-02 19:42:18 +01:00
JitterBuffer.cpp Bypass sequence numbers for DMR data frames with the jitter buffer. 2018-01-15 19:58:13 +00:00
JitterBuffer.h Bypass sequence numbers for DMR data frames with the jitter buffer. 2018-01-15 19:58:13 +00:00
LCDproc.cpp Fix compile error 2017-01-08 16:02:43 +00:00
LCDproc.h Add RSSI to LCDproc displays 2017-01-06 20:07:57 +00:00
LICENCE Initial commit 2016-01-14 18:45:04 +00:00
Log.cpp Increase log file path variable. 2016-10-13 18:12:27 +01:00
Log.h Modify the logging system greatly. 2016-03-07 18:42:05 +00:00
Makefile Initial commit of NXDN scaffolding. 2018-01-11 19:35:33 +00:00
Makefile.Pi Initial commit of NXDN scaffolding. 2018-01-11 19:35:33 +00:00
Makefile.Pi.Adafruit Initial commit of NXDN scaffolding. 2018-01-11 19:35:33 +00:00
Makefile.Pi.HD44780 Initial commit of NXDN scaffolding. 2018-01-11 19:35:33 +00:00
Makefile.Pi.OLED Initial commit of NXDN scaffolding. 2018-01-11 19:35:33 +00:00
Makefile.Pi.PCF8574 Initial commit of NXDN scaffolding. 2018-01-11 19:35:33 +00:00
Makefile.Solaris Initial commit of NXDN scaffolding. 2018-01-11 19:35:33 +00:00
MMDVM.ini Merge branch 'master' into nxdn 2018-01-15 21:12:56 +00:00
MMDVMHost.cpp Merge branch 'master' into nxdn 2018-01-15 21:12:56 +00:00
MMDVMHost.h Merge branch 'master' into nxdn 2018-01-15 21:12:56 +00:00
MMDVMHost.sln Initial commit 2016-01-14 18:45:04 +00:00
MMDVMHost.vcxproj Add basic NXDN networking. 2018-01-15 21:03:34 +00:00
MMDVMHost.vcxproj.filters Add basic NXDN networking. 2018-01-15 21:03:34 +00:00
Modem.cpp Initial commit of NXDN scaffolding. 2018-01-11 19:35:33 +00:00
Modem.h Initial commit of NXDN scaffolding. 2018-01-11 19:35:33 +00:00
ModemSerialPort.cpp Allow the modem to host a serial display. 2016-10-06 18:38:16 +01:00
ModemSerialPort.h Allow the modem to host a serial display. 2016-10-06 18:38:16 +01:00
Mutex.cpp Add the Mutex class. 2016-10-06 20:06:57 +01:00
Mutex.h Add the Mutex class. 2016-10-06 20:06:57 +01:00
NetworkInfo.cpp Fix Linux compile issue. 2017-11-15 12:43:28 +00:00
NetworkInfo.h Reformat code and make small alterations. 2017-11-15 10:47:56 +00:00
Nextion.cpp Remove compiler warnings. 2018-01-09 07:43:22 +00:00
Nextion.h Removed code to display DMR inband GPS data 2017-12-30 19:30:05 +01:00
NullDisplay.cpp Add a status LED on the RPi to the Null display driver. 2016-10-18 18:25:33 +01:00
NullDisplay.h Merge branch 'master' into P25 2016-09-27 19:47:07 +01:00
NXDNControl.cpp Start converting YSF to NXDN. 2018-01-15 21:29:59 +00:00
NXDNControl.h Start converting YSF to NXDN. 2018-01-15 21:29:59 +00:00
NXDNDefines.h Fix byte ordering for NXDN syncs. 2018-01-15 20:06:20 +00:00
NXDNNetwork.cpp Start converting YSF to NXDN. 2018-01-15 21:29:59 +00:00
NXDNNetwork.h Start converting YSF to NXDN. 2018-01-15 21:29:59 +00:00
OLED.cpp Write "CLOSE" when mmdvmhost is closed 2017-12-05 19:21:36 +01:00
OLED.h Add configurable scrolling to the OLED display. 2017-08-13 10:57:02 +01:00
OLED.md Added manual for oled driver installation 2016-05-10 16:06:26 +00:00
P25Audio.cpp Fix obvious mistake in P25 network audio. 2016-10-03 19:28:01 +01:00
P25Audio.h Add the IMBE packing/unpacking code. 2016-09-21 07:04:12 +01:00
P25Control.cpp Add simplistic RF repeating of P25 data, no FEC done apart from the sync 2018-01-04 22:06:25 +00:00
P25Control.h Progress on P25 data. 2018-01-04 21:17:34 +00:00
P25Data.cpp Add stricter P25 id checking. 2017-08-19 12:37:32 +01:00
P25Data.h Add stricter P25 id checking. 2017-08-19 12:37:32 +01:00
P25Defines.h Add simplistic RF repeating of P25 data, no FEC done apart from the sync 2018-01-04 22:06:25 +00:00
P25LowSpeedData.cpp Finish off the basics of the P25 network handling. 2016-09-22 19:39:19 +01:00
P25LowSpeedData.h Finish off the basics of the P25 network handling. 2016-09-22 19:39:19 +01:00
P25Network.cpp More P25 network data changes. 2017-10-31 10:18:15 +00:00
P25Network.h Simplify the P25 protocol. 2016-11-01 07:42:34 +00:00
P25NID.cpp Add beginnings of P25 data handling. 2018-01-03 20:03:10 +00:00
P25NID.h Add beginnings of P25 data handling. 2018-01-03 20:03:10 +00:00
P25Trellis.cpp Progress on P25 data. 2018-01-04 21:17:34 +00:00
P25Trellis.h Progress on P25 data. 2018-01-04 21:17:34 +00:00
P25Utils.cpp Progress on P25 data. 2018-01-04 21:17:34 +00:00
P25Utils.h Progress on P25 data. 2018-01-04 21:17:34 +00:00
prebuild.cmd Fixed typo in generated header file and tested more 2017-03-10 03:32:00 +00:00
QR1676.cpp Initial commit 2016-01-14 18:45:04 +00:00
QR1676.h Initial commit 2016-01-14 18:45:04 +00:00
README.daemon Added reference to full path for DMRIds.dat 2016-05-05 10:52:58 +01:00
README.HD44780 Fix README.HD44780 Backlight Power Supply 2016-12-26 00:51:30 +01:00
README.md Update for VS2017. 2017-09-22 20:15:02 +01:00
RingBuffer.h Attempt to recover from ring buffer overflows (#141) 2016-09-23 14:48:44 +01:00
RS129.cpp Initial commit 2016-01-14 18:45:04 +00:00
RS129.h Initial commit 2016-01-14 18:45:04 +00:00
RS241213.cpp Fixing occasional MMDVMHost crash when receiving P25 RF data with high BER (RS decoder fix) 2017-03-20 21:38:52 -03:00
RS241213.h Fixing occasional MMDVMHost crash when receiving P25 RF data with high BER (RS decoder fix) 2017-03-20 21:38:52 -03:00
RSSI.dat Use a linear interpolator for the reported RSSI values. 2016-12-21 19:58:46 +00:00
RSSIInterpolator.cpp Type correction. 2016-12-22 10:29:39 +00:00
RSSIInterpolator.h Use a linear interpolator for the reported RSSI values. 2016-12-21 19:58:46 +00:00
SerialController.cpp Fixes for OSX serial writing. 2017-11-15 11:10:12 +00:00
SerialController.h Fixes for OSX serial writing. 2017-11-15 11:10:12 +00:00
SerialPort.cpp Allow the modem to host a serial display. 2016-10-06 18:38:16 +01:00
SerialPort.h Allow the modem to host a serial display. 2016-10-06 18:38:16 +01:00
SHA256.cpp Initial commit 2016-01-14 18:45:04 +00:00
SHA256.h Use C++11 <cstdint> on Windows. 2016-01-14 23:25:52 +00:00
StopWatch.cpp Fix Linux compile issue. 2016-01-26 07:13:55 +00:00
StopWatch.h Use gettimeofday on Linux for the StopWatch. 2016-01-24 21:18:53 +00:00
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 Remove compiler warnings. 2018-01-09 07:43:22 +00:00
TFTSerial.h Allow the modem to host a serial display. 2016-10-06 18:38:16 +01:00
Thread.cpp Fix Linux threading compile issues. 2016-06-06 19:26:47 +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 Initial commit 2016-01-14 18:45:04 +00:00
UDPSocket.cpp Fix assert error. 2016-04-04 17:00:59 +01:00
UDPSocket.h Fix assert error. 2016-04-04 17:00:59 +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
Utils.cpp Add more asserts to catch bugs. 2016-03-07 20:21:55 +00:00
Utils.h Initial commit 2016-01-14 18:45:04 +00:00
Version.h Revert "Devel" 2017-10-24 21:55:58 +01:00
YSFControl.cpp Fix self-only in YSF. 2018-01-09 07:41:04 +00:00
YSFControl.h Add SelfOnly to YSF. 2017-08-15 10:11:05 +01:00
YSFConvolution.cpp Change M to improve the decoding. 2016-04-21 11:17:20 +01:00
YSFConvolution.h Beginnings of System Fusion payload regeneration. 2016-02-28 20:34:37 +00:00
YSFDefines.h Handle the new firmware version better. 2017-09-16 19:33:33 +01:00
YSFFICH.cpp Rebuild broken FICHs. 2017-08-14 17:34:04 +01:00
YSFFICH.h Rebuild broken FICHs. 2017-08-14 17:34:04 +01:00
YSFNetwork.cpp Rename config file values (acc. to #ee93e4ce) 2017-11-09 23:17:25 +01:00
YSFNetwork.h Rename config file values (acc. to #ee93e4ce) 2017-11-09 23:17:25 +01:00
YSFPayload.cpp Add a dummy header when DN mode late entry occurs. 2017-08-14 16:13:56 +01:00
YSFPayload.h Add a dummy header when DN mode late entry occurs. 2017-08-14 16:13:56 +01:00

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, and System Fusion.

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.