The host program for the MMDVM
Go to file
cookieBerlin bdb764c8e6 Fix README.HD44780 Backlight Power Supply
see http://wiringpi.com/dev-lib/lcd-library/ or https://de.wikipedia.org/wiki/HD44780
2016-12-26 00:51:30 +01:00
Images A better quality P25 logo. 2016-09-10 17:52:03 +01:00
Nextion Update README according to new file names 2016-11-10 21:22:10 +01: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
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
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
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 Use a linear interpolator for the reported RSSI values. 2016-12-21 19:58:46 +00:00
Conf.h Use a linear interpolator for the reported RSSI values. 2016-12-21 19:58:46 +00:00
DMRAccessControl.cpp Update the copyright message. 2016-12-22 09:42:09 +00:00
DMRAccessControl.h Update the copyright message. 2016-12-22 09:41:42 +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
DMRControl.cpp Use a linear interpolator for the reported RSSI values. 2016-12-21 19:58:46 +00:00
DMRControl.h Use a linear interpolator for the reported RSSI values. 2016-12-21 19:58:46 +00: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 Increase number of data blocks for MD-390 GPS data. 2016-11-21 23:37:05 +00: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 Only generate embedded LCs when they're the correct type. 2016-12-05 09:05:13 +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
DMRIDUpdate.sh Auto maintenance of DMR ID file from crontab 2016-06-10 13:18:15 +01:00
DMRIds.dat Update DMRIds.dat 2016-12-06 20:44:26 +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 Load the DMR Id lookup table periodically. 2016-10-10 19:15:30 +01:00
DMRLookup.h Load the DMR Id lookup table periodically. 2016-10-10 19:15:30 +01:00
DMRNetwork.cpp Mistake in the height capping. 2016-11-24 10:20:04 +00:00
DMRNetwork.h Change the handling of the options command. 2016-11-10 17:54:15 +00: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 Small cleanup of the RSSI code. 2016-12-22 11:10:08 +00:00
DMRSlot.h Use a linear interpolator for the reported RSSI values. 2016-12-21 19:58:46 +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
DMRplus_startup_options.md how to work with the Options-settings 2016-11-11 22:05:26 +01:00
DStarControl.cpp Remobe AMBE regeneration on data packets. 2016-10-05 07:42:41 +01:00
DStarControl.h Remove unneeded RSSI code for non DMR protocols. 2016-09-27 19:55:36 +01: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
Defines.h Merge branch 'master' into P25 2016-09-27 19:47:07 +01:00
Display.cpp Merge branch 'master' into P25 2016-09-27 19:47:07 +01:00
Display.h Merge branch 'master' into P25 2016-09-27 19:47:07 +01: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 HD44780: Completely disable scrolling and optimise DMR layouts for non-scrolling 2016-10-02 11:38:54 +01:00
HD44780.h Formatting issues 2016-10-19 20:58:56 +02:00
HD44780.layouts D-Star: Redesign HD44780 layouts 2016-09-29 19:47:41 +01: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
LCDproc.cpp Merge pull request #217 from N4IRS/master 2016-11-15 05:46:49 +00:00
LCDproc.h Fix VS2015 compile for LCDProc. 2016-10-31 17:52:27 +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
MMDVM.ini Use a linear interpolator for the reported RSSI values. 2016-12-21 19:58:46 +00:00
MMDVMHost.cpp Use a linear interpolator for the reported RSSI values. 2016-12-21 19:58:46 +00:00
MMDVMHost.h Add the host support for the UMP. 2016-11-03 19:07:44 +00:00
MMDVMHost.sln Initial commit 2016-01-14 18:45:04 +00:00
MMDVMHost.vcxproj Use a linear interpolator for the reported RSSI values. 2016-12-21 19:58:46 +00:00
MMDVMHost.vcxproj.filters Use a linear interpolator for the reported RSSI values. 2016-12-21 19:58:46 +00:00
Makefile Use a linear interpolator for the reported RSSI values. 2016-12-21 19:58:46 +00:00
Makefile.Pi Use a linear interpolator for the reported RSSI values. 2016-12-21 19:58:46 +00:00
Makefile.Pi.Adafruit Use a linear interpolator for the reported RSSI values. 2016-12-21 19:58:46 +00:00
Makefile.Pi.HD44780 Use a linear interpolator for the reported RSSI values. 2016-12-21 19:58:46 +00:00
Makefile.Pi.OLED Use a linear interpolator for the reported RSSI values. 2016-12-21 19:58:46 +00:00
Makefile.Pi.PCF8574 Use a linear interpolator for the reported RSSI values. 2016-12-21 19:58:46 +00:00
Makefile.Solaris Use a linear interpolator for the reported RSSI values. 2016-12-21 19:58:46 +00:00
Modem.cpp Fix ADC overflow message 2016-11-19 10:53:49 -03:00
Modem.h Add CD LED functionality to MMDVMHost 2016-11-17 11:48:42 +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
Nextion.cpp Allow the modem to host a serial display. 2016-10-06 18:38:16 +01:00
Nextion.h Allow the modem to host a serial display. 2016-10-06 18:38:16 +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
OLED.cpp Add D-Star Logo 2016-11-11 21:26:07 +00:00
OLED.h Fix OLED header file (ref. b69336d) 2016-11-04 08:56:39 +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 Alter and clean up the P25 network protocol. 2016-11-01 19:01:37 +00:00
P25Control.h Handle missing P25 network frames better. 2016-10-04 18:37:08 +01:00
P25Data.cpp Simple source id validation for P25. 2016-10-18 17:08:52 +01:00
P25Data.h Validate P25 RF late entry. 2016-09-27 18:59:17 +01:00
P25Defines.h Simple P25 silence insertion. 2016-09-27 19:26:24 +01: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
P25NID.cpp Handle the P25 low speed data. 2016-09-20 06:53:30 +01:00
P25NID.h Handle the P25 low speed data. 2016-09-20 06:53:30 +01:00
P25Network.cpp Alter and clean up the P25 network protocol. 2016-11-01 19:01:37 +00:00
P25Network.h Simplify the P25 protocol. 2016-11-01 07:42:34 +00:00
P25Utils.cpp Handle the P25 low speed data. 2016-09-20 06:53:30 +01:00
P25Utils.h Handle the P25 low speed data. 2016-09-20 06:53:30 +01: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 Fix README.HD44780 Backlight Power Supply 2016-12-26 00:51:30 +01:00
README.daemon Added reference to full path for DMRIds.dat 2016-05-05 10:52:58 +01:00
README.md Add 2.8" Nextion to README.md 2016-09-29 21:46:30 +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 Correct range of loop for size of input data. 2016-09-28 09:26:23 +01:00
RS241213.h Add LDU1 Reed-Solomon encoding and decoding. 2016-09-27 18:36:08 +01: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
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 Allow the modem to host a serial display. 2016-10-06 18:38:16 +01: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
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 Start full host support got P25. 2016-09-08 18:38:59 +01:00
Sync.h Start full host support got P25. 2016-09-08 18:38:59 +01:00
TFTSerial.cpp Allow the modem to host a serial display. 2016-10-06 18:38:16 +01: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 Bump the version date. 2016-11-24 17:47:53 +00:00
YSFControl.cpp VW mode isn't IMBE, it's AMBE, change messages accordingly. 2016-11-24 16:00:04 +00:00
YSFControl.h Remove unneeded RSSI code for non DMR protocols. 2016-09-27 19:55:36 +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 Allow for remote System Fusion gateway operation. 2016-09-26 18:07:06 +01:00
YSFFICH.h Allow for remote System Fusion gateway operation. 2016-09-26 18:07:06 +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 Revert "Rework YSF AMBE repetition FEC." 2016-11-22 21:51:40 +00:00
YSFPayload.h Revert "Rework YSF AMBE repetition FEC." 2016-11-22 21:51:40 +00: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. On P25 it connects to the P25NX network.

It supports D-Star, DMR, P25 Phase 1, 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", 2.8", 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.