The host program for the MMDVM
Go to file
Giorgio Campiotti 97e634118f Update HD44780.h
Increase colors number
2016-05-02 21:42:46 +02:00
Images Move TFTSerial images to their own directory. 2016-03-19 19:11:28 +00:00
Nextion Add templates for 3.2" displays and reworked 2.4" templates 2016-04-27 22:24:17 +02:00
TFTSerial Move TFTSerial images to their own directory. 2016-03-19 19:11:28 +00:00
.gitignore Log buffer overflows from the modem and handle master reboots cleanly. 2016-01-14 19:26:06 +00:00
AMBEFEC.cpp Finish the System Fusion AMBE regeneration. 2016-04-28 18:01:02 +01:00
AMBEFEC.h First go at VW mode IMBE FEC. 2016-04-19 07:45:49 +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 HD44780 PWM backlight control 2016-05-01 16:59:43 +01:00
Conf.h HD44780 PWM backlight control 2016-05-01 16:59:43 +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 Add an error display. 2016-03-21 22:47:58 +00:00
Display.cpp Initial commit 2016-01-14 18:45:04 +00:00
Display.h Change variable types for strings used in writeDMR 2016-04-21 14:01:53 +02:00
DMRControl.cpp Translate DMR Id to callsign from a file. 2016-04-12 18:26:13 +01:00
DMRControl.h Translate DMR Id to callsign from a file. 2016-04-12 18:26:13 +01:00
DMRCSBK.cpp Spelling mistake in log entry. 2016-03-15 19:02:20 +00:00
DMRCSBK.h Handle group transmissions of Preamble CSBKs. 2016-03-14 21:22:09 +00:00
DMRData.cpp Add the BER and a future RSSI to the DMR data. 2016-03-23 17:30:06 +00:00
DMRData.h Add the BER and a future RSSI to the DMR data. 2016-03-23 17:30:06 +00:00
DMRDataHeader.cpp Correct the block count in two of the data header formats. 2016-04-25 09:27:03 +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 Add regeneration of Embedded LCs. 2016-02-29 07:27:10 +00: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
DMRIds.dat Update DMRIds.dat 2016-04-25 23:28:00 +10:00
DMRIPSC.cpp Be more agressive at trying to reconnect after a failure. 2016-04-25 17:10:56 +01:00
DMRIPSC.h Allow for setting of outgoing port number on DMR networking. 2016-04-03 19:11:45 +01: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 compile error that some people experienced. 2016-04-12 21:37:21 +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 Lookup CSBK id's to callsigns. 2016-04-28 10:32:11 +01:00
DMRSlot.h Handle empty data transmission and multiple data headers. 2016-04-26 18:22:47 +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
DStarControl.cpp Remove AMBE FEC BER messages for DMR and D-Star. 2016-04-27 06:43:47 +01:00
DStarControl.h Add black list functionality for D-Star and DMR. 2016-04-06 18:46:05 +01:00
DStarDefines.h Debugging D-Star. 2016-02-01 21:44:40 +00: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
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 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
HD44780.cpp Change hardware PWM to be a percentage to match software PWM values 2016-05-02 08:37:16 +01:00
HD44780.h Update HD44780.h 2016-05-02 21:42:46 +02:00
ISSUES.txt Finish the System Fusion AMBE regeneration. 2016-04-28 18:01:02 +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
Makefile Small fixes for DMR data modes. 2016-04-19 19:46:16 +01:00
Makefile.Pi.Adafruit Add pthread library to HD44780 Makefiles 2016-05-02 09:52:33 +01:00
Makefile.Pi.HD44780 Add pthread library to HD44780 Makefiles 2016-05-02 09:52:33 +01:00
MMDVM.ini HD44780 PWM backlight control 2016-05-01 16:59:43 +01:00
MMDVMHost.cpp HD44780 PWM backlight control 2016-05-01 16:59:43 +01:00
MMDVMHost.h Allow ordainary data to activate DMR when in simplex. 2016-03-07 19:45:19 +00:00
MMDVMHost.sln Initial commit 2016-01-14 18:45:04 +00:00
MMDVMHost.vcxproj Small fixes for DMR data modes. 2016-04-19 19:46:16 +01:00
MMDVMHost.vcxproj.filters Small fixes for DMR data modes. 2016-04-19 19:46:16 +01:00
Modem.cpp Improve the start of the modem. 2016-04-14 19:03:51 +01:00
Modem.h Add a playout timer to avoid flooding the modem with data. 2016-03-31 11:42:12 +01:00
Nextion.cpp C++ cleanups. 2016-04-28 17:11:27 +01:00
Nextion.h Add config option for Nextion display sizes 2016-04-27 20:57:47 +02:00
NullDisplay.cpp Change variable types for strings used in writeDMR 2016-04-21 14:01:53 +02:00
NullDisplay.h Change variable types for strings used in writeDMR 2016-04-21 14:01:53 +02: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.md Updated README concerning displays 2016-04-22 11:37:22 +02:00
RingBuffer.h Recalculate the free space in the ring buffer. 2016-02-15 22:21:50 +00: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
SerialController.cpp DMR beacon handling. 2016-01-14 19:58:16 +00:00
SerialController.h Initial commit 2016-01-14 18:45:04 +00: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 Centralise the Sync addition methods. 2016-02-15 21:46:57 +00:00
Sync.h Centralise the Sync addition methods. 2016-02-15 21:46:57 +00:00
TFTSerial.cpp Missed the "via" off the display. 2016-04-28 13:29:12 +01:00
TFTSerial.h Change variable types for strings used in writeDMR 2016-04-21 14:01:53 +02: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-04-28 19:01:52 +01:00
YSFControl.cpp Finish the System Fusion AMBE regeneration. 2016-04-28 18:01:02 +01:00
YSFControl.h Fix minor problems with YSF. 2016-04-25 20:10:03 +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 System Fusion bug fixes. 2016-04-18 21:56:10 +01:00
YSFFICH.cpp Start restructuring the YSF code. 2016-04-21 18:00:26 +01:00
YSFFICH.h Start restructuring the YSF code. 2016-04-21 18:00:26 +01:00
YSFParrot.cpp Handle sync-less data frames. 2016-02-23 21:01:14 +00:00
YSFParrot.h Decode and encode the System Fusion FICH. 2016-02-23 19:30:35 +00:00
YSFPayload.cpp Update attributions. 2016-04-26 07:42:13 +01:00
YSFPayload.h Restructure YSF again. 2016-04-25 18:06:19 +01:00

These are the source files for builing 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, only the BrandMeister network currently.

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)
  • Nextion TFTs (sizes 2,4" and 3,5")
  • TFT displays sold by Hobbytronics in UK

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.

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.

It is only to be used on the main DMR+, the main BrandMeister, and Phoenix (UK) networks. If you wish to use it on any other network, you must get written permission from myself, G4KLX. Each such request will be dealt with on a case-by-case basis.