Go to file
Geoffrey Merck 6321563496 add missing files in makefiles 2020-06-25 21:13:28 +02:00
Images Better YSF image 2018-08-12 11:27:03 +02:00
Nextion_DB2OE Add DB2OE Nextion layouts. 2017-08-20 12:35:03 +01:00
Nextion_G4KLX Better YSF image 2018-08-12 11:27:03 +02:00
Nextion_ON7LDS Add more dynamic variables and fix command manging 2018-09-05 16:12:12 -04: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
Tools Use GNU Radio emphasis filters, add filters generation scripts 2020-05-31 09:17:45 +02:00
UMP nitial commit of POCSAG files. 2018-06-07 18:46:03 +01:00
linux Fix execute permissions on DMR ID updates from BM. 2018-10-03 09:04:51 +01:00
.gitignore Fix some bugs 2019-01-08 15:13:18 +01:00
AMBEFEC.cpp Re-add the audio blanking for too corrupt audio in DMR, NXDN and YSFDN 2018-03-07 20:14:07 +00:00
AMBEFEC.h Re-add the audio blanking for too corrupt audio in DMR, NXDN and YSFDN 2018-03-07 20:14:07 +00:00
AX25Control.cpp Add AX.25 transmit functionality to the modem handler. 2020-06-21 21:16:31 +01:00
AX25Control.h Start the AX.25 transmit path development. 2020-06-21 18:53:38 +01:00
AX25Defines.h Change the maximum packet length. 2020-06-24 13:22:55 +01:00
AX25Network.cpp Merge branch 'FM_Ext' into AX25_FM 2020-06-25 13:41:19 +01:00
AX25Network.h Add KISS receive. 2020-06-21 17:22:27 +01:00
BCH.cpp
BCH.h
BPTC19696.cpp
BPTC19696.h
CASTInfo.cpp Add FM mode display. 2020-04-11 20:42:05 +01:00
CASTInfo.h Add FM mode display. 2020-04-11 20:42:05 +01:00
CRC.cpp
CRC.h
Conf.cpp Merge branch 'FM_Ext' into AX25_FM 2020-06-25 13:41:19 +01:00
Conf.h Merge branch 'FM_Ext' into AX25_FM 2020-06-25 13:41:19 +01:00
DMRAccessControl.cpp
DMRAccessControl.h
DMRCSBK.cpp Add decode for Call Alert and Call Alert Ack CSBKs. 2020-03-02 12:10:44 +00:00
DMRCSBK.h Add correct copyright. 2020-04-03 17:09:17 +01:00
DMRControl.cpp use enum DMR_OVCM_TYPES 2019-11-17 10:57:58 +08:00
DMRControl.h use enum DMR_OVCM_TYPES 2019-11-17 10:57:58 +08:00
DMRData.cpp Roll back the jitter buffer changes. 2018-02-08 20:25:03 +00:00
DMRData.h Roll back the jitter buffer changes. 2018-02-08 20:25:03 +00:00
DMRDataHeader.cpp
DMRDataHeader.h
DMRDefines.h Change of the DMR Silence Data for AMBE+2 silence pattern 2018-02-09 14:57:09 -03:00
DMREMB.cpp change variable type to unsigned char 2019-12-07 23:25:57 +08:00
DMREMB.h
DMREmbeddedData.cpp
DMREmbeddedData.h
DMRFullLC.cpp
DMRFullLC.h
DMRIds.dat Update the DMR Ids. 2019-11-07 13:53:57 +00:00
DMRLC.cpp Don't remove OVCM bit. Only set it when configured. 2019-11-23 11:11:53 +01:00
DMRLC.h Add OVCM support. 2019-10-11 18:24:25 +01:00
DMRLookup.cpp cosme 2020-03-10 05:26:45 +09:00
DMRLookup.h use UserDBentry from findWithName() to writeDMR(), add writeDMREx() 2020-03-08 08:06:27 +09:00
DMRNetwork.cpp Identify OpenGD77 hotspot. 2020-01-08 10:58:41 +01:00
DMRNetwork.h Add the beginnings of mobile hotspot location. 2018-10-30 07:53:11 +00:00
DMRShortLC.cpp
DMRShortLC.h
DMRSlot.cpp use UserDBentry from findWithName() to writeDMR(), add writeDMREx() 2020-03-08 08:06:27 +09:00
DMRSlot.h use enum DMR_OVCM_TYPES 2019-11-17 10:57:58 +08:00
DMRSlotType.cpp
DMRSlotType.h
DMRTA.cpp Remove warning 2020-03-30 20:30:43 +02:00
DMRTA.h Fixed incorrect DMRTA header packet length from RF side 2018-12-09 23:49:15 +08:00
DMRTrellis.cpp
DMRTrellis.h
DMRplus_startup_options.md
DStarControl.cpp Add end of transmission data for D-Star. 2019-09-29 17:06:22 +01:00
DStarControl.h Reset the mode's state machines when going to the disabled state. 2019-01-19 17:15:24 +00:00
DStarDefines.h Remove more redundant code. 2019-01-31 08:29:31 +00:00
DStarHeader.cpp
DStarHeader.h
DStarNetwork.cpp Add more intelligence to the remote control. 2019-01-15 21:45:29 +00:00
DStarNetwork.h
DStarSlowData.cpp
DStarSlowData.h
Defines.h Add FM mode display. 2020-04-11 20:42:05 +01:00
Display.cpp change ScreenLayout definition for Nextion 2020-06-14 16:00:20 +09:00
Display.h Add FM mode display. 2020-04-11 20:42:05 +01:00
Dockerfile Remove Log repertory 2018-01-04 01:09:37 +01:00
FMControl.cpp Ensure Modem FM frames are always 168 samples 2020-05-31 21:42:35 +02:00
FMControl.h fixe network byte ordering, change audio dump to dumep 16 bit samples 2020-05-30 19:59:15 +02:00
FMNetwork.cpp Handle poll message 2020-05-16 17:45:24 +02:00
FMNetwork.h Add Poll message 2020-05-16 17:40:42 +02:00
Golay2087.cpp
Golay2087.h
Golay24128.cpp
Golay24128.h
HD44780.cpp Update HD44780.cpp 2020-05-03 18:33:22 +01:00
HD44780.h Add FM mode display. 2020-04-11 20:42:05 +01:00
HD44780.layouts
Hamming.cpp
Hamming.h
I2CController.cpp Clean up the I2C controller code. 2020-05-23 16:49:21 +01:00
I2CController.h Linux compile fix. 2020-05-23 16:54:11 +01:00
IIRDirectForm1Filter.cpp Initialize all members 2020-05-14 22:02:05 +02:00
IIRDirectForm1Filter.h Add filter 2020-05-08 20:41:57 +02:00
ISSUES.txt Update a bit of documentation. 2018-01-17 19:06:37 +00:00
LCDproc.cpp Quoted "Listening" for the lcdproc widget_set command 2020-05-14 15:09:56 +01:00
LCDproc.h Add FM mode display. 2020-04-11 20:42:05 +01:00
LICENCE
Log.cpp Redirect stderr messages to the log file, as in daemon mode assert() failure are silent and make wrong INI file hard to fix. 2020-05-09 12:11:08 +02:00
Log.h Redirect stderr messages to the log file, as in daemon mode assert() failure are silent and make wrong INI file hard to fix. 2020-05-09 12:11:08 +02:00
MMDVM.ini Merge branch 'FM_Ext' into AX25_FM 2020-06-25 13:41:19 +01:00
MMDVMHost.cpp Merge branch 'FM_Ext' into AX25_FM 2020-06-25 13:41:19 +01:00
MMDVMHost.h Merge branch 'FM_Ext' into AX25_FM 2020-06-25 13:41:19 +01:00
MMDVMHost.sln Add VS2017 files for Remote Command. 2019-01-19 17:27:41 +00:00
MMDVMHost.vcxproj Merge branch 'FM_Ext' into AX25_FM 2020-06-25 13:41:19 +01:00
MMDVMHost.vcxproj.filters Merge branch 'FM_Ext' into AX25_FM 2020-06-25 13:41:19 +01:00
Makefile add missing files in makefile 2020-06-25 20:40:13 +02:00
Makefile.Pi add missing files in makefiles 2020-06-25 21:13:28 +02:00
Makefile.Pi.Adafruit add missing files in makefiles 2020-06-25 21:13:28 +02:00
Makefile.Pi.HD44780 add missing files in makefiles 2020-06-25 21:13:28 +02:00
Makefile.Pi.OLED add missing files in makefiles 2020-06-25 21:13:28 +02:00
Makefile.Pi.PCF8574 add missing files in makefiles 2020-06-25 21:13:28 +02:00
MobileGPS.cpp Fix Windows compile warnings. 2018-11-06 20:44:59 +00:00
MobileGPS.h Add MobileGPS support for DMR. 2018-11-06 12:14:57 +00:00
Modem.cpp Merge branch 'FM_Ext' into AX25_FM 2020-06-25 13:41:19 +01:00
Modem.h Merge branch 'FM_Ext' into AX25_FM 2020-06-25 13:41:19 +01:00
ModemSerialPort.cpp
ModemSerialPort.h
Mutex.cpp
Mutex.h
NXDN.csv Update the NXDN IDs file from radioid.net. 2019-11-07 14:02:40 +00:00
NXDNAudio.cpp Simplify the NXDN audio decoding. 2018-03-07 20:24:32 +00:00
NXDNAudio.h Start on the NXDN Icom network audio handling. 2018-02-19 19:09:01 +00:00
NXDNCRC.cpp Revert "Rework the LICH parity." 2018-03-20 20:36:23 +00:00
NXDNCRC.h Revert "Rework the LICH parity." 2018-03-20 20:36:23 +00:00
NXDNControl.cpp More work on integrating the Kenwood NXDN protocol. 2020-05-27 12:07:21 +01:00
NXDNControl.h More work on integrating the Kenwood NXDN protocol. 2020-05-27 12:07:21 +01:00
NXDNConvolution.cpp Fix file attributes for source files. 2018-06-13 18:55:03 +01:00
NXDNConvolution.h Add more NXDN support files. 2018-01-17 21:21:25 +00:00
NXDNDefines.h Allow more control over NXDN networking. 2018-03-12 20:55:53 +00:00
NXDNFACCH1.cpp Add raw data accessors to the channel data classes. 2018-02-21 07:48:24 +00:00
NXDNFACCH1.h Add raw data accessors to the channel data classes. 2018-02-21 07:48:24 +00:00
NXDNIcomNetwork.cpp Start adding the Kenwood protocol as an option. 2020-05-27 11:38:46 +01:00
NXDNIcomNetwork.h Start adding the Kenwood protocol as an option. 2020-05-27 11:38:46 +01:00
NXDNKenwoodNetwork.cpp Upgrade the Kenwood protocol to pass data calls. 2020-05-27 12:47:21 +01:00
NXDNKenwoodNetwork.h Upgrade the Kenwood protocol to pass data calls. 2020-05-27 12:47:21 +01:00
NXDNLICH.cpp Simplify the LICH processing. 2018-03-21 18:44:33 +00:00
NXDNLICH.h Simplify the LICH processing. 2018-03-21 18:44:33 +00:00
NXDNLayer3.cpp Add correct LICH direction to match Icom repeaters. 2018-05-23 18:30:40 +01:00
NXDNLayer3.h Begin handling Icom format network frames. Work in progress. 2018-02-15 20:20:07 +00:00
NXDNLookup.cpp NXDNLookup now use UserDB 2020-03-09 22:23:55 +09:00
NXDNLookup.h NXDNLookup now use UserDB 2020-03-09 22:23:55 +09:00
NXDNNetwork.cpp Start adding the Kenwood protocol as an option. 2020-05-27 11:38:46 +01:00
NXDNNetwork.h Start adding the Kenwood protocol as an option. 2020-05-27 11:38:46 +01:00
NXDNSACCH.cpp Fix file attributes for source files. 2018-06-13 18:55:03 +01:00
NXDNSACCH.h Add raw data accessors to the channel data classes. 2018-02-21 07:48:24 +00:00
NXDNUDCH.cpp Insert the correct bytes for data transmissions in the Icom protocol. 2018-05-17 19:23:01 +01:00
NXDNUDCH.h Add raw data accessors to the channel data classes. 2018-02-21 07:48:24 +00:00
NetworkInfo.cpp <netinet/in.h> of Linux automatically includes <sys/socket.h>, 2019-03-13 20:18:12 +09:00
NetworkInfo.h Reformat code and make small alterations. 2017-11-15 10:47:56 +00:00
Nextion.cpp change ScreenLayout definition for Nextion 2020-06-14 16:00:20 +09:00
Nextion.h Add FM mode display. 2020-04-11 20:42:05 +01:00
NullDisplay.cpp Add FM mode display. 2020-04-11 20:42:05 +01:00
NullDisplay.h Add FM mode display. 2020-04-11 20:42:05 +01:00
NullModem.cpp Add NullModem support 2018-12-07 17:36:11 +08:00
NullModem.h Update NullModem code to sycn with FM changes 2020-05-18 13:28:55 +08:00
OLED.cpp Update OLED.cpp 2020-06-15 17:00:37 +01:00
OLED.h Add FM to the OLED display. 2020-05-02 20:42:54 +01:00
OLED.md Update OLED.md 2019-12-04 15:07:54 +01:00
P25Audio.cpp
P25Audio.h
P25Control.cpp Add P25 end of transmission data. 2019-09-29 16:34:56 +01:00
P25Control.h Reset the mode's state machines when going to the disabled state. 2019-01-19 17:15:24 +00:00
P25Data.cpp Revert "Merge pull request #462 from gatekeep/master" 2018-11-12 09:48:00 +00:00
P25Data.h Revert "Merge pull request #462 from gatekeep/master" 2018-11-12 09:48:00 +00:00
P25Defines.h Revert "Merge pull request #462 from gatekeep/master" 2018-11-12 09:48:00 +00:00
P25LowSpeedData.cpp Adding missing P25 FEC table entry to avoid buffer overflow. 2019-09-03 15:22:35 -04:00
P25LowSpeedData.h
P25NID.cpp Fix other crashes 2018-08-20 00:47:45 -03:00
P25NID.h Oops! Forgot the P25 NID changes for the TSDU datatype. 2018-05-14 12:00:06 -04:00
P25Network.cpp Add more intelligence to the remote control. 2019-01-15 21:45:29 +00:00
P25Network.h
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
POCSAGControl.cpp Fix silly bug. 2019-01-23 08:50:22 +00:00
POCSAGControl.h Restructure POCSAG code to allow for two input data streams. 2019-01-23 08:21:47 +00:00
POCSAGDefines.h Add POCSAG processing and display code. 2018-06-11 21:30:49 +01:00
POCSAGNetwork.cpp Add more intelligence to the remote control. 2019-01-15 21:45:29 +00:00
POCSAGNetwork.h nitial commit of POCSAG files. 2018-06-07 18:46:03 +01:00
QR1676.cpp
QR1676.h
README.HD44780
README.daemon
README.md Update README. 2020-05-21 11:17:02 +01:00
RS129.cpp
RS129.h
RS241213.cpp Revert "Merge pull request #462 from gatekeep/master" 2018-11-12 09:48:00 +00:00
RS241213.h Revert "Merge pull request #462 from gatekeep/master" 2018-11-12 09:48:00 +00:00
RSSI.dat
RSSIInterpolator.cpp
RSSIInterpolator.h
RemoteCommand.cpp Redirect stderr messages to the log file, as in daemon mode assert() failure are silent and make wrong INI file hard to fix. 2020-05-09 12:11:08 +02:00
RemoteCommand.h Add example remote command program. 2019-01-07 13:23:11 +00:00
RemoteCommand.vcxproj Update files to VS2019. 2020-02-14 20:53:21 +00:00
RemoteCommand.vcxproj.filters Add VS2017 files for Remote Command. 2019-01-19 17:27:41 +00:00
RemoteControl.cpp Initial code for AX.25 support. 2020-06-08 16:33:20 +01:00
RemoteControl.h Initial code for AX.25 support. 2020-06-08 16:33:20 +01:00
RingBuffer.h
SHA256.cpp
SHA256.h
SerialController.cpp Add 460800 serial speed 2020-05-30 20:19:46 +02:00
SerialController.h Make the modem speed dynamic with a default of 115200. 2020-05-23 13:03:55 +01:00
SerialPort.cpp
SerialPort.h
StopWatch.cpp Simplify the new stopwatch code. 2018-07-15 20:33:14 +01:00
StopWatch.h Simplify the new stopwatch code. 2018-07-15 20:33:14 +01:00
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 FM mode display. 2020-04-11 20:42:05 +01:00
TFTSerial.h Add FM mode display. 2020-04-11 20:42:05 +01:00
TFTSurenoo.cpp Add FM mode display. 2020-04-11 20:42:05 +01:00
TFTSurenoo.h Add FM mode display. 2020-04-11 20:42:05 +01:00
Thread.cpp
Thread.h
Timer.cpp
Timer.h
UDPSocket.cpp More work on integrating the Kenwood NXDN protocol. 2020-05-27 12:07:21 +01:00
UDPSocket.h More work on integrating the Kenwood NXDN protocol. 2020-05-27 12:07:21 +01:00
UMP.cpp Make the modem speed dynamic with a default of 115200. 2020-05-23 13:03:55 +01:00
UMP.h
UserDB.cpp Beginnings of FM support. 2020-04-09 22:02:47 +01:00
UserDB.h add user database storage 2020-03-05 06:35:14 +09:00
UserDBentry.cpp get() goes const, add clear() 2020-03-08 07:55:08 +09:00
UserDBentry.h get() goes const, add clear() 2020-03-08 07:55:08 +09:00
Utils.cpp First attempt at detecting D-Star data frames, Kenwood and Icom. 2018-11-12 11:57:34 +00:00
Utils.h First attempt at detecting D-Star data frames, Kenwood and Icom. 2018-11-12 11:57:34 +00:00
Version.h Merge branch 'FM_Ext' into AX25_FM 2020-06-25 13:41:19 +01:00
YSFControl.cpp Add extra end of transmission data for YSF. 2019-09-29 16:59:11 +01:00
YSFControl.h Remove the old System Fusion SQL config option and processing. 2019-02-12 11:29:05 +00:00
YSFConvolution.cpp
YSFConvolution.h Add more NXDN support files. 2018-01-17 21:21:25 +00:00
YSFDefines.h Fix remote gateway for DR-1X 2018-10-23 21:59:10 -03:00
YSFFICH.cpp Remove the old System Fusion SQL config option and processing. 2019-02-12 11:29:05 +00:00
YSFFICH.h Remove the old System Fusion SQL config option and processing. 2019-02-12 11:29:05 +00:00
YSFNetwork.cpp Add more intelligence to the remote control. 2019-01-15 21:45:29 +00: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
prebuild.cmd

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, System Fusion, POCSAG, and FM 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+, TGIF, HB Link, XLX or DMRGateway (to connect to multiple DMR networks at once) on System Fusion it connects to the YSF Gateway to allow access to the FCS and YSF networks. On P25 it connects to the P25 Gateway. On NXDN it connects to the NXDN Gateway which provides access to the NXDN and NXCore talk groups. It uses the DAPNET Gateway to access DAPNET to receive paging messages. Finally it uses the FM Gateway to interface to existing FM networks.

It builds on 32-bit and 64-bit Linux as well as on Windows using Visual Studio 2019 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 (all sizes, both Basic and Enhanced versions)
  • 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 an 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.