The host program for the MMDVM
Go to file
Tony Corbett G0WFV 7ae770a79e Attempt to recover from ring buffer overflows (#141) 2016-09-23 14:48:44 +01:00
Images Move TFTSerial images to their own directory. 2016-03-19 19:11:28 +00:00
Nextion Files for 2.8 inch Nextion displays 2016-09-09 11:42:58 +02:00
TFTSerial Move TFTSerial images to their own directory. 2016-03-19 19:11:28 +00:00
linux Added missing quotes in test cmd. 2016-08-21 12:05:36 +02:00
.gitignore Correct the order of the YSF display argumemts. 2016-05-20 06:15:42 +01:00
.kateproject Added kateproject file for kate editor 2016-07-10 11:46:17 +01:00
AMBEFEC.cpp Do the correct AMBE regeneration for YSF V/D mode 1. 2016-07-21 19:46:32 +01:00
AMBEFEC.h Do the correct AMBE regeneration for YSF V/D mode 1. 2016-07-21 19:46:32 +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
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
Conf.cpp Tidy up as per Jonathan's comments 2016-09-22 16:47:04 +01:00
Conf.h Tidy up as per Jonathan's comments 2016-09-22 16:47:04 +01:00
DMRAccessControl.cpp Fix compiler warnings for DMRAccessControl 2016-09-23 12:47:13 +01:00
DMRAccessControl.h Fix compiler warnings for DMRAccessControl 2016-09-23 12:47:13 +01:00
DMRCSBK.cpp Reject unknown CSBKs. 2016-08-09 17:22:02 +01:00
DMRCSBK.h Handle group transmissions of Preamble CSBKs. 2016-03-14 21:22:09 +00:00
DMRControl.cpp Fix reading of IDs 2016-09-22 20:21:26 +01:00
DMRControl.h Adding ini options for TGRewrite code 2016-09-21 16:33:35 +01:00
DMRData.cpp Alter the format of the returned RSSI data. 2016-08-11 17:28:47 +01:00
DMRData.h Alter the format of the returned RSSI data. 2016-08-11 17:28:47 +01:00
DMRDataHeader.cpp Handle zero block length. 2016-09-19 17:55:28 +01:00
DMRDataHeader.h Add special data spacer/termination after data transmission. 2016-02-28 18:22:17 +00:00
DMRDefines.h A new DMR silence frame. 2016-03-01 19:42:24 +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
DMREmbeddedLC.cpp Remove irritating log messages. 2016-07-14 18:23:17 +01:00
DMREmbeddedLC.h Add regeneration of Embedded LCs. 2016-02-29 07:27:10 +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
DMRIDUpdate.sh Auto maintenance of DMR ID file from crontab 2016-06-10 13:18:15 +01:00
DMRIPSC.cpp Identify an MMDVM in DMO mode for DMR network reporting. 2016-09-05 17:40:43 +01:00
DMRIPSC.h Identify an MMDVM in DMO mode for DMR network reporting. 2016-09-05 17:40:43 +01:00
DMRIds.dat Create DMRIds.dat 2016-09-23 17:47:46 +10: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 Fix compilation on OS X. 2016-06-13 18:48:05 +01:00
DMRLookup.h The beginnings of DMR Id to callsign lookups. 2016-04-11 11:52:21 +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 Tidy up as per Jonathan's comments 2016-09-22 16:47:04 +01:00
DMRSlot.h Adding ini options for TGRewrite code 2016-09-21 16:33:35 +01: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
DStarControl.cpp Alter the format of the returned RSSI data. 2016-08-11 17:28:47 +01:00
DStarControl.h Add RSSI logging to D-Star and YSF. 2016-08-09 20:05:35 +01:00
DStarDefines.h Improve silence insertion. 2016-07-11 20:08:14 +01:00
DStarHeader.cpp Add more asserts to catch bugs. 2016-03-07 20:21:55 +00:00
DStarHeader.h Add the status ack to D-Star. 2016-02-01 20:49:52 +00: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
Defines.h Add timer to return from CW Ident 2016-09-15 15:17:51 +02:00
Display.cpp Add timer to return from CW Ident 2016-09-15 15:17:51 +02:00
Display.h Add timer to return from CW Ident 2016-09-15 15:17:51 +02: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
HD44780.cpp Add CW transmission info to HD44780 LCD displays 2016-09-15 23:03:48 +02:00
HD44780.h Add CW transmission info to HD44780 LCD displays 2016-09-15 23:03:48 +02:00
HD44780.layouts Impliment clock on all HD44780 sizes and redesigned IDLE screen 2016-05-29 10:13:43 +03:00
HD44780.md Update README.md to include HD44780 variations and HD44780 todo list 2016-06-27 20:21:22 +01:00
Hamming.cpp Add new Hamming for YSF. 2016-04-19 06:50:51 +01:00
Hamming.h Add new Hamming for YSF. 2016-04-19 06:50:51 +01:00
LICENCE Initial commit 2016-01-14 18:45:04 +00:00
Log.cpp Fix a compile error under Linux. 2016-03-07 21:55:02 +00:00
Log.h Modify the logging system greatly. 2016-03-07 18:42:05 +00:00
MMDVM.ini Next release of TG Rewrite 2016-09-21 19:35:13 +01:00
MMDVMHost.cpp Next release of TG Rewrite 2016-09-21 19:35:13 +01:00
MMDVMHost.h Add seperate RF and Network mode timeouts. 2016-06-22 18:03:56 +01:00
MMDVMHost.sln Initial commit 2016-01-14 18:45:04 +00:00
MMDVMHost.vcxproj Add Windows support for the DMR Access Control. 2016-07-11 17:41:53 +01:00
MMDVMHost.vcxproj.filters Add Windows support for the DMR Access Control. 2016-07-11 17:41:53 +01:00
Makefile Separate DMR Access control into new class: DMRAccessControl:: 2016-07-10 11:47:23 +01:00
Makefile.Pi.Adafruit Add DMRAccessControl to other Makefiles 2016-07-13 19:58:03 +02:00
Makefile.Pi.HD44780 Add DMRAccessControl to other Makefiles 2016-07-13 19:58:03 +02:00
Makefile.Pi.OLED Add DMRAccessControl to other Makefiles 2016-07-13 19:58:03 +02:00
Makefile.Pi.PCF8574 Add DMRAccessControl to other Makefiles 2016-07-13 19:58:03 +02:00
Makefile.Solaris Added Solaris Makefile. 2016-08-08 18:23:46 +01:00
Modem.cpp Identify an MMDVM in DMO mode for DMR network reporting. 2016-09-05 17:40:43 +01:00
Modem.h Identify an MMDVM in DMO mode for DMR network reporting. 2016-09-05 17:40:43 +01:00
Nextion.cpp Let the clock run on when transmitting CW 2016-09-15 16:57:10 +02:00
Nextion.h Add timer to return from CW Ident 2016-09-15 15:17:51 +02:00
NullDisplay.cpp Add timer to return from CW Ident 2016-09-15 15:17:51 +02:00
NullDisplay.h Add timer to return from CW Ident 2016-09-15 15:17:51 +02:00
OLED.cpp Update the display and logging on incoming YSF network data. 2016-05-19 19:08:48 +01:00
OLED.h Update the display and logging on incoming YSF network data. 2016-05-19 19:08:48 +01:00
OLED.md Added manual for oled driver installation 2016-05-10 16:06:26 +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.DMR_ACL Additions to support separate network/rf access control 2016-07-10 21:39:58 +01:00
README.HD44780 Make I2C address configurable for HD44780 LCD variations 2016-06-30 20:10:30 +01:00
README.TGRewrite Next release of TG Rewrite 2016-09-21 19:35:13 +01:00
README.daemon Added reference to full path for DMRIds.dat 2016-05-05 10:52:58 +01:00
README.md Updated the network connections section. 2016-08-15 13:26:57 +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
RingBuffer.h Attempt to recover from ring buffer overflows (#141) 2016-09-23 14:48:44 +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
SerialController.cpp Add cstring for Solaris compilation. 2016-08-08 17:53:35 +01:00
SerialController.h Initial commit 2016-01-14 18:45:04 +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 Clean up the DMR sync generation code. 2016-09-06 08:06:19 +01:00
Sync.h Clean up the DMR sync generation code. 2016-09-06 08:06:19 +01:00
TFTSerial.cpp Add routines for TFTSerial 2016-09-15 23:26:17 +02:00
TFTSerial.h Add timer to return from CW Ident 2016-09-15 15:17:51 +02: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
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. 2016-09-06 17:22:51 +01:00
YSFControl.cpp Compare incoming YSF packets with callsign instead of GATEWAY. 2016-09-22 22:38:59 +01:00
YSFControl.h Compare incoming YSF packets with callsign instead of GATEWAY. 2016-09-22 22:38:59 +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 Add silence infill for missing packets. 2016-07-12 18:20:48 +01:00
YSFFICH.cpp Add BN/BT of the YSF FICH for debugging. 2016-07-05 17:51:16 +01:00
YSFFICH.h Add BN/BT of the YSF FICH for debugging. 2016-07-05 17:51:16 +01:00
YSFNetwork.cpp Fix sequence number bugs. 2016-06-13 21:29:19 +01:00
YSFNetwork.h Fix sequence number bugs. 2016-06-13 21:29:19 +01:00
YSFPayload.cpp Do the correct AMBE regeneration for YSF V/D mode 1. 2016-07-21 19:46:32 +01:00
YSFPayload.h Move FEC display to the main code. 2016-06-16 17:33:53 +01: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. On the D-Star side the MMDVMHost interfaces with the ircDDB Gateway, on DMR it connects to Brand Meister, DMR+, and HB Link, on System Fusion it connects to the YSF Gateway..

It supports D-Star, DMR, and System Fusion.

It builds on 32-bit and 64-bit Linux as well as on Windows using VS2015 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", 3.2" and 3.5")
  • TFT displays sold by Hobbytronics in UK
  • OLED 128x64 (SSD1306)

The HD44780 displays are integrated with wiringPi for Raspberry Pi based platforms. The other displays can be directly connected to the UART on Raspberry Pis or with FT-232RL modules to any USB port.

The OLED display needs a extra lib see OLED.md

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.