The host program for the MMDVM
Find a file
2018-07-04 21:36:21 +01:00
Images Change the NXDN image to be less garish. 2018-01-22 20:17:47 +00:00
linux Change URL database DMR ID 2018-05-29 10:34:49 +02:00
Nextion_DB2OE Add DB2OE Nextion layouts. 2017-08-20 12:35:03 +01:00
Nextion_G4KLX Change the NXDN image to be less garish. 2018-01-22 20:17:47 +00:00
Nextion_ON7LDS Adaption of Nextion HMI and tft files to reflect buffer changes of pull request #420 2018-05-10 22:35:45 +02: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 Add NXDN to the display code. 2018-01-17 19:04:00 +00:00
.gitignore corrected case 2017-03-10 04:21:40 +00: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 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 Fix DMR jitter default var value 2018-07-03 13:28:54 -04:00
Conf.h Add the YSF TX hang parameter. 2018-05-21 21:32:33 +01: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 Support for Nano DV board 2018-05-05 10:42:01 -03:00
Display.cpp Add NXDN to the display code. 2018-01-17 19:04:00 +00:00
Display.h Add NXDN to the display code. 2018-01-17 19:04:00 +00: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 Roll back the jitter buffer changes. 2018-02-08 20:25:03 +00:00
DMRControl.h Roll back the jitter buffer changes. 2018-02-08 20:25:03 +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 Roll back the jitter buffer changes. 2018-02-08 20:25:03 +00:00
DMRData.h Roll back the jitter buffer changes. 2018-02-08 20:25:03 +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 Change of the DMR Silence Data for AMBE+2 silence pattern 2018-02-09 14:57:09 -03: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 The latest DMR Ids file. 2018-03-21 07:28:43 +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 Camel case findWithName() 2018-04-13 17:40:54 -04:00
DMRLookup.h Camel case findWithName() 2018-04-13 17:40:54 -04:00
DMRNetwork.cpp Clean up the merged code. 2018-07-04 19:00:51 +01:00
DMRNetwork.h FIX DMRNewtork infinite failure on domain name resolve 2018-07-03 11:35:55 +08: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 Camel case findWithName() 2018-04-13 17:40:54 -04:00
DMRSlot.h Improving packet loss detection 2018-02-09 14:32:52 -03: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 Remove the RSSI debug message if nothing interesting to show. 2018-03-06 20:12:29 +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 Clean up the merged code. 2018-07-04 19:00:51 +01: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 Add NXDN to the display code. 2018-01-17 19:04:00 +00:00
HD44780.h Add NXDN to the display code. 2018-01-17 19:04:00 +00:00
HD44780.layouts D-Star: Redesign HD44780 layouts 2016-09-29 19:47:41 +01:00
ISSUES.txt Update a bit of documentation. 2018-01-17 19:06:37 +00:00
LCDproc.cpp Merge branch 'master' into nxdn 2018-02-06 07:14:26 +00:00
LCDproc.h Add NXDN to the display code. 2018-01-17 19:04:00 +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 Start on the NXDN Icom network audio handling. 2018-02-19 19:09:01 +00:00
Makefile.Pi Start on the NXDN Icom network audio handling. 2018-02-19 19:09:01 +00:00
Makefile.Pi.Adafruit Start on the NXDN Icom network audio handling. 2018-02-19 19:09:01 +00:00
Makefile.Pi.HD44780 Start on the NXDN Icom network audio handling. 2018-02-19 19:09:01 +00:00
Makefile.Pi.OLED Merge branch 'master' into icom 2018-03-08 07:16:41 +00:00
Makefile.Pi.PCF8574 Start on the NXDN Icom network audio handling. 2018-02-19 19:09:01 +00:00
Makefile.Solaris Start on the NXDN Icom network audio handling. 2018-02-19 19:09:01 +00:00
MMDVM.ini Add the YSF TX hang parameter. 2018-05-21 21:32:33 +01:00
MMDVMHost.cpp Clean up the merged code. 2018-07-04 19:00:51 +01:00
MMDVMHost.h Add more NXDN support files. 2018-01-17 21:21:25 +00:00
MMDVMHost.sln Initial commit 2016-01-14 18:45:04 +00:00
MMDVMHost.vcxproj Start on the NXDN Icom network audio handling. 2018-02-19 19:09:01 +00:00
MMDVMHost.vcxproj.filters Start on the NXDN Icom network audio handling. 2018-02-19 19:09:01 +00:00
Modem.cpp Add the YSF TX hang parameter. 2018-05-21 21:32:33 +01:00
Modem.h Add the YSF TX hang parameter. 2018-05-21 21:32:33 +01: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 OLED Display - Add IP address to display format 2018-04-07 11:49:12 -04:00
NetworkInfo.h Reformat code and make small alterations. 2017-11-15 10:47:56 +00:00
Nextion.cpp Nextion.cpp: Change char buffer length to prevent buffer overflow 2018-05-10 20:24:16 +01:00
Nextion.h Add NXDN to the display code. 2018-01-17 19:04:00 +00:00
NullDisplay.cpp Add NXDN to the display code. 2018-01-17 19:04:00 +00:00
NullDisplay.h Add NXDN to the display code. 2018-01-17 19:04:00 +00:00
NXDN.csv Add the latest NXDN Id file. 2018-03-22 18:35:15 +00:00
NXDNAudio.cpp Simplify the NXDN audio decoding. 2018-03-07 20:24:32 +00:00
NXDNAudio.h Start on the NXDN Icom network audio handling. 2018-02-19 19:09:01 +00:00
NXDNControl.cpp Add correct LICH direction to match Icom repeaters. 2018-05-23 18:30:40 +01:00
NXDNControl.h Insert the correct bytes for data transmissions in the Icom protocol. 2018-05-17 19:23:01 +01:00
NXDNConvolution.cpp Fix compilation error with abs() function using some compilers 2018-03-03 17:14:02 -03:00
NXDNConvolution.h Add more NXDN support files. 2018-01-17 21:21:25 +00:00
NXDNCRC.cpp Revert "Rework the LICH parity." 2018-03-20 20:36:23 +00:00
NXDNCRC.h Revert "Rework the LICH parity." 2018-03-20 20:36:23 +00:00
NXDNDefines.h Allow more control over NXDN networking. 2018-03-12 20:55:53 +00:00
NXDNFACCH1.cpp Add raw data accessors to the channel data classes. 2018-02-21 07:48:24 +00:00
NXDNFACCH1.h Add raw data accessors to the channel data classes. 2018-02-21 07:48:24 +00:00
NXDNLayer3.cpp Add correct LICH direction to match Icom repeaters. 2018-05-23 18:30:40 +01:00
NXDNLayer3.h Begin handling Icom format network frames. Work in progress. 2018-02-15 20:20:07 +00: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
NXDNLookup.cpp New NXDN Id lookup file. 2018-02-06 18:38:29 +00:00
NXDNLookup.h Add more NXDN support files. 2018-01-17 21:21:25 +00:00
NXDNNetwork.cpp Insert the correct bytes for data transmissions in the Icom protocol. 2018-05-17 19:23:01 +01:00
NXDNNetwork.h Insert the correct bytes for data transmissions in the Icom protocol. 2018-05-17 19:23:01 +01:00
NXDNSACCH.cpp Add raw data accessors to the channel data classes. 2018-02-21 07:48:24 +00:00
NXDNSACCH.h Add raw data accessors to the channel data classes. 2018-02-21 07:48:24 +00:00
NXDNUDCH.cpp Insert the correct bytes for data transmissions in the Icom protocol. 2018-05-17 19:23:01 +01:00
NXDNUDCH.h Add raw data accessors to the channel data classes. 2018-02-21 07:48:24 +00:00
OLED.cpp OLED Display - update NXDN graphic 2018-04-12 08:36:17 -04:00
OLED.h OLED Display - Hide unused slot and center active one 2018-04-08 18:29:35 -04: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 Once again -- fix my poor whitespace formatting. 2018-05-14 10:49:03 -04:00
P25Control.h Fix commit with bad line endings. 2018-05-14 10:25:19 -04:00
P25Data.cpp Fix commit with bad line endings. 2018-05-14 10:25:19 -04:00
P25Data.h Fix whitespace and tabbing. Fix missing closing brace. 2018-05-14 10:45:49 -04:00
P25Defines.h Fix commit with bad line endings. 2018-05-14 10:25:19 -04: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 fix memory leak in P25NID 2018-07-03 15:09:11 +08:00
P25NID.h Oops! Forgot the P25 NID changes for the TSDU datatype. 2018-05-14 12:00:06 -04:00
P25Trellis.cpp Fix P25 data reception, regeneration, and transmission. 2018-01-16 23:26:05 +00:00
P25Trellis.h Progress on P25 data. 2018-01-04 21:17:34 +00:00
P25Utils.cpp Fix the P25 PDU transmit length. 2018-01-17 07:59:40 +00:00
P25Utils.h Fix the P25 PDU transmit length. 2018-01-17 07:59:40 +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 a bit of documentation. 2018-01-17 19:06:37 +00: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 Restore the correct copyright message. 2018-07-04 21:36:21 +01:00
StopWatch.h Restore the correct copyright message. 2018-07-04 21:36:21 +01: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 Add NXDN to the display code. 2018-01-17 19:04:00 +00:00
TFTSerial.h Add NXDN to the display code. 2018-01-17 19:04:00 +00: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 bugs in NXDN networking. 2018-02-13 19:07:30 +00: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 Bump the version date. 2018-05-17 20:35:30 +01:00
YSFControl.cpp Remove the RSSI debug message if nothing interesting to show. 2018-03-06 20:12:29 +00:00
YSFControl.h Add extra FCS data extraction and fix remote gateway operation on YSF. 2018-02-27 18:38:07 +00:00
YSFConvolution.cpp Change M to improve the decoding. 2016-04-21 11:17:20 +01:00
YSFConvolution.h Add more NXDN support files. 2018-01-17 21:21:25 +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, 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.