The host program for the MMDVM
Find a file
2016-07-10 11:47:23 +01:00
Images Move TFTSerial images to their own directory. 2016-03-19 19:11:28 +00:00
Nextion Add a few more chars to display AM/PM indicator 2016-06-24 13:17:02 +02:00
TFTSerial Move TFTSerial images to their own directory. 2016-03-19 19:11:28 +00: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 Revert "Off by one bug in the YSF VW mode FEC regeneration." 2016-05-12 17:37:01 +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 Remove the level adjustments. 2016-07-07 17:40:41 +01:00
Conf.h Remove the level adjustments. 2016-07-07 17:40:41 +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 BN/BT of the YSF FICH for debugging. 2016-07-05 17:51:16 +01:00
Display.cpp Add optional clocking for the displays. 2016-05-21 12:28:09 +01:00
Display.h Add optional clocking for the displays. 2016-05-21 12:28:09 +01:00
DMRAccessControl.cpp Separate DMR Access control into new class: DMRAccessControl:: 2016-07-10 11:47:23 +01:00
DMRAccessControl.h Separate DMR Access control into new class: DMRAccessControl:: 2016-07-10 11:47:23 +01:00
DMRControl.cpp Add a DMR hang time for locking out disimilar calls. 2016-06-16 21:40:05 +01:00
DMRControl.h Add a DMR hang time for locking out disimilar calls. 2016-06-16 21:40:05 +01:00
DMRCSBK.cpp Reduce CSBK logging. 2016-05-03 13:55:23 +01: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-07-06 16:45:13 +10:00
DMRIDUpdate.sh Auto maintenance of DMR ID file from crontab 2016-06-10 13:18:15 +01:00
DMRIPSC.cpp Remove code no longer needed after applying fixes 2016-07-02 23:50:33 +01:00
DMRIPSC.h Delay opening the IPSC connection in error cases. 2016-05-16 18:08:10 +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 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 Separate DMR Access control into new class: DMRAccessControl:: 2016-07-10 11:47:23 +01:00
DMRSlot.h Separate DMR Access control into new class: DMRAccessControl:: 2016-07-10 11:47:23 +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 Start on DMR rate 3/4 data. 2016-07-07 20:23:30 +01:00
DMRTrellis.h Start on DMR rate 3/4 data. 2016-07-07 20:23:30 +01:00
DStarControl.cpp Remove the holdoff timers. 2016-07-05 18:21:18 +01:00
DStarControl.h Remove the holdoff timers. 2016-07-05 18:21:18 +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 Correct logic for date/time display 2016-07-06 19:47:08 +01:00
HD44780.h Change incorrect variable type to unsigned int 2016-06-30 20:35:32 +01: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
ISSUES.txt Remove a DMR issue. 2016-05-05 18:33:43 +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 Separate DMR Access control into new class: DMRAccessControl:: 2016-07-10 11:47:23 +01:00
Makefile.Pi.Adafruit Start on DMR rate 3/4 data. 2016-07-07 20:23:30 +01:00
Makefile.Pi.HD44780 Start on DMR rate 3/4 data. 2016-07-07 20:23:30 +01:00
Makefile.Pi.OLED Start on DMR rate 3/4 data. 2016-07-07 20:23:30 +01:00
Makefile.Pi.PCF8574 Start on DMR rate 3/4 data. 2016-07-07 20:23:30 +01:00
MMDVM.ini Remove the level adjustments. 2016-07-07 17:40:41 +01:00
MMDVMHost.cpp Remove the level adjustments. 2016-07-07 17:40:41 +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 Start on DMR rate 3/4 data. 2016-07-07 20:23:30 +01:00
MMDVMHost.vcxproj.filters Start on DMR rate 3/4 data. 2016-07-07 20:23:30 +01:00
Modem.cpp Remove the level adjustments. 2016-07-07 17:40:41 +01:00
Modem.h Remove the level adjustments. 2016-07-07 17:40:41 +01:00
Nextion.cpp Propagate locale fix to Nextion displays 2016-07-03 00:30:57 +01:00
Nextion.h Time/date format by system locale (HD44780 & Nextion) 2016-06-24 16:08:28 +01:00
NullDisplay.cpp Update the display and logging on incoming YSF network data. 2016-05-19 19:08:48 +01:00
NullDisplay.h Update the display and logging on incoming YSF network data. 2016-05-19 19:08:48 +01: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.daemon Added reference to full path for DMRIds.dat 2016-05-05 10:52:58 +01:00
README.DMR_ACL Whitelist allow IDs should be above 99999 not 10000 2016-06-11 13:07:35 +01:00
README.HD44780 Make I2C address configurable for HD44780 LCD variations 2016-06-30 20:10:30 +01:00
README.md Update README.md to include HD44780 variations and HD44780 todo list 2016-06-27 20:21:22 +01:00
RingBuffer.h Modify the space calculations slightly. 2016-07-07 09:31:41 +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
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 Change via to at for YSF displays. 2016-05-23 18:04:17 +01:00
TFTSerial.h Update the display and logging on incoming YSF network data. 2016-05-19 19:08:48 +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
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-06-24 10:35:00 +01:00
YSFControl.cpp Remove the holdoff timers. 2016-07-05 18:21:18 +01:00
YSFControl.h Remove the holdoff timers. 2016-07-05 18:21:18 +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 First go at System Fusion networking. 2016-05-16 21:57:32 +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 Move FEC display to the main code. 2016-06-16 17:33:53 +01:00
YSFPayload.h Move FEC display to the main code. 2016-06-16 17:33:53 +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. 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)
    • 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.

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.