Go to file
Jonathan Naylor 0ed7972ee7 Merge branch 'master' into nxdn 2018-02-06 07:14:26 +00:00
Images Change the NXDN image to be less garish. 2018-01-22 20:17:47 +00: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 Changed the display layout examples and readme to reflect the code changes 2017-12-31 19:28:00 +01: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
linux Update docker-compose.yml 2018-01-06 16:51:47 +01:00
.gitignore corrected case 2017-03-10 04:21:40 +00: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
BPTC19696.h
CRC.cpp
CRC.h
Conf.cpp Merge branch 'master' into nxdn 2018-02-01 06:59:46 +00:00
Conf.h Merge branch 'master' into nxdn 2018-02-01 06:59:46 +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
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 Add the jitter buffer for DMR. 2018-01-10 19:05:59 +00:00
DMRControl.h Add the jitter buffer for DMR. 2018-01-10 19:05:59 +00:00
DMRData.cpp Basic jitter buffer for DMR, unfinished work. 2017-11-23 11:54:45 +00:00
DMRData.h Basic jitter buffer for DMR, unfinished work. 2017-11-23 11:54:45 +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 Display DMR embedded data. 2016-12-31 16:01:26 +00:00
DMREMB.cpp
DMREMB.h
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
DMRFullLC.h
DMRIds.dat Update DMR Ids. 2017-11-28 21:20:37 +00:00
DMRLC.cpp
DMRLC.h
DMRLookup.cpp Add more NXDN support files. 2018-01-17 21:21:25 +00:00
DMRLookup.h Add stricter P25 id checking. 2017-08-19 12:37:32 +01:00
DMRNetwork.cpp Fix crash of DelayBuffer 2018-02-05 23:29:57 -03:00
DMRNetwork.h Add a proper bypass for the jitter buffer if wanted. 2018-02-05 19:46:27 +00:00
DMRShortLC.cpp
DMRShortLC.h
DMRSlot.cpp Discard DMR audio frames with N > 5 (RF side) 2018-02-04 14:46:09 -03:00
DMRSlot.h Add the jitter buffer for DMR. 2018-01-10 19:05:59 +00:00
DMRSlotType.cpp
DMRSlotType.h
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 Add remote gateway modes to D-Star and P25. 2017-11-09 09:21:22 +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
DStarNetwork.h
DStarSlowData.cpp
DStarSlowData.h
Defines.h Merge branch 'master' into nxdn 2018-02-05 20:05:39 +00:00
DelayBuffer.cpp Add a proper bypass for the jitter buffer if wanted. 2018-02-05 19:46:27 +00:00
DelayBuffer.h Add a proper bypass for the jitter buffer if wanted. 2018-02-05 19:46:27 +00: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
Dockerfile Remove Log repertory 2018-01-04 01:09:37 +01:00
Golay2087.cpp
Golay2087.h
Golay24128.cpp
Golay24128.h
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
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
ISSUES.txt Update a bit of documentation. 2018-01-17 19:06:37 +00:00
JitterBuffer.cpp Add a proper bypass for the jitter buffer if wanted. 2018-02-05 19:46:27 +00:00
JitterBuffer.h Add a proper bypass for the jitter buffer if wanted. 2018-02-05 19:46:27 +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
Log.cpp Increase log file path variable. 2016-10-13 18:12:27 +01:00
Log.h
MMDVM.ini Merge branch 'master' into nxdn 2018-02-01 06:59:46 +00:00
MMDVMHost.cpp Merge branch 'master' into nxdn 2018-02-01 06:59:46 +00:00
MMDVMHost.h Add more NXDN support files. 2018-01-17 21:21:25 +00:00
MMDVMHost.sln
MMDVMHost.vcxproj Merge branch 'master' into nxdn 2018-02-05 20:05:39 +00:00
MMDVMHost.vcxproj.filters Merge branch 'master' into nxdn 2018-02-05 20:05:39 +00:00
Makefile Merge branch 'master' into nxdn 2018-02-05 20:05:39 +00:00
Makefile.Pi Merge branch 'master' into nxdn 2018-02-05 20:05:39 +00:00
Makefile.Pi.Adafruit Merge branch 'master' into nxdn 2018-02-05 20:05:39 +00:00
Makefile.Pi.HD44780 Merge branch 'master' into nxdn 2018-02-05 20:05:39 +00:00
Makefile.Pi.OLED Merge branch 'master' into nxdn 2018-02-05 20:05:39 +00:00
Makefile.Pi.PCF8574 Merge branch 'master' into nxdn 2018-02-05 20:05:39 +00:00
Makefile.Solaris Merge branch 'master' into nxdn 2018-02-05 20:05:39 +00:00
Modem.cpp Initial commit of NXDN scaffolding. 2018-01-11 19:35:33 +00:00
Modem.h Initial commit of NXDN scaffolding. 2018-01-11 19:35:33 +00: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
NXDNCRC.cpp Small optimisation of the CRC calculations. 2018-02-05 21:21:08 +00:00
NXDNCRC.h WIP not decoding the SACCH correctly. 2018-01-23 20:06:14 +00:00
NXDNControl.cpp Not happy about LICH reconstruction, remove it. 2018-02-05 21:39:50 +00:00
NXDNControl.h Not happy about LICH reconstruction, remove it. 2018-02-05 21:39:50 +00:00
NXDNConvolution.cpp Fix Linux compilation error 2018-02-01 20:19:04 -03:00
NXDNConvolution.h Add more NXDN support files. 2018-01-17 21:21:25 +00:00
NXDNDefines.h Experimenting using real data, moving forward with start and end blocks. 2018-01-31 21:05:34 +00:00
NXDNFACCH1.cpp Get half of the late entry working. 2018-02-02 06:34:21 +00:00
NXDNFACCH1.h Add the detailed processing for the FACCH1 and UDCH. 2018-01-29 21:41:14 +00:00
NXDNLICH.cpp Experimenting using real data, moving forward with start and end blocks. 2018-01-31 21:05:34 +00:00
NXDNLICH.h Simplify the LICH processing. 2018-01-26 07:12:22 +00:00
NXDNLayer3.cpp Regenerate more NXDN voice data elements. 2018-02-05 21:07:06 +00:00
NXDNLayer3.h Regenerate more NXDN voice data elements. 2018-02-05 21:07:06 +00:00
NXDNLookup.cpp Add more NXDN support files. 2018-01-17 21:21:25 +00:00
NXDNLookup.h Add more NXDN support files. 2018-01-17 21:21:25 +00:00
NXDNNetwork.cpp More changes to the NXDN networking. 2018-01-31 07:55:59 +00:00
NXDNNetwork.h More changes to the NXDN networking. 2018-01-31 07:55:59 +00:00
NXDNSACCH.cpp Get half of the late entry working. 2018-02-02 06:34:21 +00:00
NXDNSACCH.h Add skeletons for the other channel decoders. 2018-01-24 18:37:45 +00:00
NXDNUDCH.cpp Get half of the late entry working. 2018-02-02 06:34:21 +00:00
NXDNUDCH.h Remove FACCH2 processing and add voice body processing. 2018-01-30 20:41:43 +00:00
NetworkInfo.cpp Fix Linux compile issue. 2017-11-15 12:43:28 +00:00
NetworkInfo.h Reformat code and make small alterations. 2017-11-15 10:47:56 +00:00
Nextion.cpp Merge branch 'master' into nxdn 2018-02-06 07:14:26 +00: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
OLED.cpp Add NXDN to the display code. 2018-01-17 19:04:00 +00:00
OLED.h Add NXDN to the display code. 2018-01-17 19:04:00 +00: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 Remove the display for P25 data, it looks silly. Upgrade the log message 2018-01-25 07:08:28 +00:00
P25Control.h Fix P25 data reception, regeneration, and transmission. 2018-01-16 23:26:05 +00:00
P25Data.cpp Add stricter P25 id checking. 2017-08-19 12:37:32 +01:00
P25Data.h Add stricter P25 id checking. 2017-08-19 12:37:32 +01:00
P25Defines.h Fix P25 data reception, regeneration, and transmission. 2018-01-16 23:26:05 +00: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 Add beginnings of P25 data handling. 2018-01-03 20:03:10 +00:00
P25NID.h Add beginnings of P25 data handling. 2018-01-03 20:03:10 +00: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
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
QR1676.cpp
QR1676.h
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 Update a bit of documentation. 2018-01-17 19:06:37 +00:00
RS129.cpp
RS129.h
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
RingBuffer.h Attempt to recover from ring buffer overflows (#141) 2016-09-23 14:48:44 +01:00
SHA256.cpp
SHA256.h
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
StopWatch.cpp
StopWatch.h
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
Timer.h
UDPSocket.cpp
UDPSocket.h
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
Utils.h
Version.h Revert "Devel" 2017-10-24 21:55:58 +01:00
YSFControl.cpp Fix self-only in YSF. 2018-01-09 07:41:04 +00:00
YSFControl.h Add SelfOnly to YSF. 2017-08-15 10:11:05 +01: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
nxuid_export.csv Add more NXDN support files. 2018-01-17 21:21:25 +00:00
prebuild.cmd Fixed typo in generated header file and tested more 2017-03-10 03:32:00 +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. 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.