Go to file
Jonathan Naylor 40a1dec98e Merge branch 'M17_AX25_FM' into I2C 2021-04-25 11:11:19 +01:00
Images Restore the branch 2020-12-15 16:21:07 +00:00
Nextion_DB2OE
Nextion_G4KLX Restore the branch 2020-12-15 16:21:07 +00:00
Nextion_ON7LDS Add more dynamic variables and fix command manging 2018-09-05 16:12:12 -04:00
RSSI
Tools Restore the branch 2020-12-15 16:21:07 +00:00
linux Merge branch 'master' into M17_AX25_FM 2021-01-01 13:20:25 +00:00
.gitignore Revert "Merge pull request #648 from xfxian/logrotate" 2020-10-30 13:34:13 +00:00
AMBEFEC.cpp Refactor the Golay 24,12,8 code and its uses. 2021-04-07 19:56:28 +01:00
AMBEFEC.h
AX25Control.cpp Restore the branch 2020-12-15 16:21:07 +00:00
AX25Control.h Restore the branch 2020-12-15 16:21:07 +00:00
AX25Defines.h Restore the branch 2020-12-15 16:21:07 +00:00
AX25Network.cpp Restore the branch 2020-12-15 16:21:07 +00:00
AX25Network.h Refactored some class names. 2021-02-16 20:05:03 +00:00
BCH.cpp
BCH.h
BPTC19696.cpp
BPTC19696.h
CASTInfo.cpp Final modem refactoring. 2021-02-17 21:36:47 +00:00
CASTInfo.h Final modem refactoring. 2021-02-17 21:36:47 +00:00
CRC.cpp
CRC.h
Conf.cpp Merge branch 'M17_AX25_FM' into I2C 2021-04-25 11:11:19 +01:00
Conf.h Merge branch 'M17_AX25_FM' into I2C 2021-04-25 11:11:19 +01:00
DMRAccessControl.cpp
DMRAccessControl.h
DMRCSBK.cpp Add mode 4 (force off) for the DMR OVCM flag. 2021-03-07 17:42:55 +00:00
DMRCSBK.h Add mode 4 (force off) for the DMR OVCM flag. 2021-03-07 17:42:55 +00:00
DMRControl.cpp Ignore M17 packet data, for now. 2021-03-29 19:36:55 +01:00
DMRControl.h Final modem refactoring. 2021-02-17 21:36:47 +00:00
DMRData.cpp
DMRData.h
DMRDataHeader.cpp
DMRDataHeader.h
DMRDefines.h Ignore M17 packet data, for now. 2021-03-29 19:36:55 +01:00
DMRDirectNetwork.cpp Regularise the local address handling across all of the protocol. 2021-04-25 11:10:35 +01:00
DMRDirectNetwork.h Regularise the local address handling across all of the protocol. 2021-04-25 11:10:35 +01: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
DMRGatewayNetwork.cpp Regularise the local address handling across all of the protocol. 2021-04-25 11:10:35 +01:00
DMRGatewayNetwork.h Regularise the local address handling across all of the protocol. 2021-04-25 11:10:35 +01:00
DMRIds.dat Update the DMR Ids. 2019-11-07 13:53:57 +00:00
DMRLC.cpp Add mode 4 (force off) for the DMR OVCM flag. 2021-03-07 17:42:55 +00:00
DMRLC.h Add mode 4 (force off) for the DMR OVCM flag. 2021-03-07 17:42:55 +00:00
DMRLookup.cpp Allow DMR/P25 and NXDN Id reload with a SIGUSR1 or via a remote command. 2021-01-01 13:54:03 +00:00
DMRLookup.h Allow DMR/P25 and NXDN Id reload with a SIGUSR1 or via a remote command. 2021-01-01 13:54:03 +00:00
DMRNetwork.cpp Allow optional direct connections to masters again. 2020-12-06 16:12:54 +00:00
DMRNetwork.h Don't send RPTCL on DMR under error conditions. 2021-04-08 18:36:27 +01:00
DMRShortLC.cpp
DMRShortLC.h
DMRSlot.cpp Ignore M17 packet data, for now. 2021-03-29 19:36:55 +01:00
DMRSlot.h Final modem refactoring. 2021-02-17 21:36:47 +00: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 Ignore M17 packet data, for now. 2021-03-29 19:36:55 +01:00
DStarControl.h Detect DV Fast Data on a per-frame basis 2020-11-29 16:12:58 -05:00
DStarDefines.h Ignore M17 packet data, for now. 2021-03-29 19:36:55 +01:00
DStarHeader.cpp
DStarHeader.h
DStarNetwork.cpp Regularise the local address handling across all of the protocol. 2021-04-25 11:10:35 +01:00
DStarNetwork.h Regularise the local address handling across all of the protocol. 2021-04-25 11:10:35 +01:00
DStarSlowData.cpp
DStarSlowData.h
Defines.h Ignore M17 packet data, for now. 2021-03-29 19:36:55 +01:00
Display.cpp Merge branch 'master' into M17_AX25_FM 2021-03-12 19:56:57 +00:00
Display.h Final modem refactoring. 2021-02-17 21:36:47 +00:00
Dockerfile
FMControl.cpp Add the USDP metadata header to the FM network output. 2021-04-24 08:43:48 +01:00
FMControl.h Add FM network audio gain and optional pre- and de-emphasis. 2021-03-14 14:59:34 +00:00
FMNetwork.cpp Merge branch 'master' into M17_AX25_FM 2021-04-25 10:26:57 +01:00
FMNetwork.h Regularise the local address handling across all of the protocol. 2021-04-25 11:10:35 +01:00
Golay2087.cpp
Golay2087.h
Golay24128.cpp Refactor the Golay 24,12,8 code and its uses. 2021-04-07 19:56:28 +01:00
Golay24128.h Refactor the Golay 24,12,8 code and its uses. 2021-04-07 19:56:28 +01:00
HD44780.cpp Change the displays to show the DG-ID instead of the TO field for YSF. 2020-08-09 19:23:18 +01:00
HD44780.h Display and log the DG-ID in the Fusion mode. 2020-08-09 15:09:08 +01:00
HD44780.layouts
Hamming.cpp
Hamming.h
I2CController.cpp Restore the branch 2020-12-15 16:21:07 +00:00
I2CController.h Final modem refactoring. 2021-02-17 21:36:47 +00:00
I2CModem.cpp Merge branch 'M17_AX25_FM' into I2C 2021-02-17 22:17:06 +00:00
I2CModem.h Merge branch 'M17_AX25_FM' into I2C 2021-02-17 22:17:06 +00:00
I2CPi.cpp Fixes for compiling OLED on a Pi. 2020-11-27 11:01:42 +00:00
I2CPi.h Allow the I2C slace address to be dynamic, as it should be. 2020-11-24 11:35:59 +00:00
I2CPort.cpp Add modem I2C/OLED support. 2020-11-17 16:56:12 +00:00
I2CPort.h Allow the I2C slace address to be dynamic, as it should be. 2020-11-24 11:35:59 +00:00
IIRDirectForm1Filter.cpp Restore the branch 2020-12-15 16:21:07 +00:00
IIRDirectForm1Filter.h Restore the branch 2020-12-15 16:21:07 +00:00
LCDproc.cpp Merge branch 'master' into M17_AX25_FM 2021-04-25 10:26:57 +01:00
LCDproc.h Merge branch 'master' into M17_AX25_FM 2021-04-25 10:26:57 +01:00
LICENCE
Log.cpp Add optional log file rotation and UDP socket reopening. 2020-10-31 21:35:09 +00:00
Log.h Add optional log file rotation and UDP socket reopening. 2020-10-31 21:35:09 +00:00
M17CRC.cpp Remove the CRC4 processing. 2021-03-28 15:29:26 +01:00
M17CRC.h Remove the CRC4 processing. 2021-03-28 15:29:26 +01:00
M17Control.cpp Update M17 to the latest secification, removal of the CRC from the 2021-04-11 17:31:05 +01:00
M17Control.h Update M17 to the latest secification, removal of the CRC from the 2021-04-11 17:31:05 +01:00
M17Convolution.cpp Update M17 to the latest secification, removal of the CRC from the 2021-04-11 17:31:05 +01:00
M17Convolution.h Fixed M17 to be compatible with the latest protocol speciication. 2021-03-25 21:07:44 +00:00
M17Defines.h Fixed M17 to be compatible with the latest protocol speciication. 2021-03-25 21:07:44 +00:00
M17LSF.cpp Add the LICH CRC. 2021-03-26 22:21:20 +00:00
M17LSF.h Fixed M17 to be compatible with the latest protocol speciication. 2021-03-25 21:07:44 +00:00
M17Network.cpp Regularise the local address handling across all of the protocol. 2021-04-25 11:10:35 +01:00
M17Network.h Regularise the local address handling across all of the protocol. 2021-04-25 11:10:35 +01:00
M17Utils.cpp Fixed M17 to be compatible with the latest protocol speciication. 2021-03-25 21:07:44 +00:00
M17Utils.h Restore the branch 2020-12-15 16:21:07 +00:00
MMDVM.ini Merge branch 'M17_AX25_FM' into I2C 2021-04-25 11:11:19 +01:00
MMDVMHost.cpp Merge branch 'M17_AX25_FM' into I2C 2021-04-25 11:11:19 +01:00
MMDVMHost.h Merge branch 'master' into M17_AX25_FM 2021-03-22 22:14:54 +00:00
MMDVMHost.sln Add VS2017 files for Remote Command. 2019-01-19 17:27:41 +00:00
MMDVMHost.vcxproj Merge branch 'M17_AX25_FM' into I2C 2021-04-08 19:03:10 +01:00
MMDVMHost.vcxproj.filters Merge branch 'M17_AX25_FM' into I2C 2021-04-08 19:03:10 +01:00
Makefile Merge branch 'M17_AX25_FM' into I2C 2021-04-08 19:03:10 +01:00
Makefile.Pi Merge branch 'M17_AX25_FM' into I2C 2021-04-08 19:03:10 +01:00
Makefile.Pi.Adafruit Merge branch 'M17_AX25_FM' into I2C 2021-04-08 19:03:10 +01:00
Makefile.Pi.HD44780 Merge branch 'M17_AX25_FM' into I2C 2021-04-08 19:03:10 +01:00
Makefile.Pi.OLED Merge branch 'M17_AX25_FM' into I2C 2021-04-08 19:03:10 +01:00
Makefile.Pi.PCF8574 Merge branch 'M17_AX25_FM' into I2C 2021-04-08 19:03:10 +01:00
Modem.cpp Merge branch 'M17_AX25_FM' into I2C 2021-04-11 17:45:58 +01:00
Modem.h Merge branch 'M17_AX25_FM' into I2C 2021-02-17 22:17:06 +00:00
ModemPort.cpp Final modem refactoring. 2021-02-17 21:36:47 +00:00
ModemPort.h Final modem refactoring. 2021-02-17 21:36:47 +00:00
ModemSerialPort.cpp Final modem refactoring. 2021-02-17 21:36:47 +00:00
ModemSerialPort.h Final modem refactoring. 2021-02-17 21:36:47 +00:00
Mutex.cpp
Mutex.h
NXDN.csv Update the NXDN IDs file from radioid.net. 2019-11-07 14:02:40 +00:00
NXDNAudio.cpp
NXDNAudio.h
NXDNCRC.cpp
NXDNCRC.h
NXDNControl.cpp Ignore M17 packet data, for now. 2021-03-29 19:36:55 +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
NXDNDefines.h
NXDNFACCH1.cpp
NXDNFACCH1.h
NXDNIcomNetwork.cpp Fix network ports datatype (unsigned int -> unsigned short). UDPSocket: fix old bug using m_port instead of m_port[x]. 2021-04-25 07:47:06 +02:00
NXDNIcomNetwork.h Fix network ports datatype (unsigned int -> unsigned short). UDPSocket: fix old bug using m_port instead of m_port[x]. 2021-04-25 07:47:06 +02:00
NXDNKenwoodNetwork.cpp Fix network ports datatype (unsigned int -> unsigned short). UDPSocket: fix old bug using m_port instead of m_port[x]. 2021-04-25 07:47:06 +02:00
NXDNKenwoodNetwork.h Fix network ports datatype (unsigned int -> unsigned short). UDPSocket: fix old bug using m_port instead of m_port[x]. 2021-04-25 07:47:06 +02:00
NXDNLICH.cpp
NXDNLICH.h
NXDNLayer3.cpp Add correct LICH direction to match Icom repeaters. 2018-05-23 18:30:40 +01:00
NXDNLayer3.h
NXDNLookup.cpp Allow DMR/P25 and NXDN Id reload with a SIGUSR1 or via a remote command. 2021-01-01 13:54:03 +00:00
NXDNLookup.h Allow DMR/P25 and NXDN Id reload with a SIGUSR1 or via a remote command. 2021-01-01 13:54:03 +00:00
NXDNNetwork.cpp Start adding the Kenwood protocol as an option. 2020-05-27 11:38:46 +01:00
NXDNNetwork.h Add RemoteCommand 'status' command. 2021-03-22 20:32:43 +01:00
NXDNSACCH.cpp Fix file attributes for source files. 2018-06-13 18:55:03 +01:00
NXDNSACCH.h
NXDNUDCH.cpp Insert the correct bytes for data transmissions in the Icom protocol. 2018-05-17 19:23:01 +01:00
NXDNUDCH.h
NetworkInfo.cpp Fix osx compile error 2020-10-31 19:53:00 +08:00
NetworkInfo.h
Nextion.cpp Restore the branch 2020-12-15 16:21:07 +00:00
Nextion.h Restore the branch 2020-12-15 16:21:07 +00:00
NullController.cpp Make the Null Controller respond properly. 2021-03-14 21:00:47 +00:00
NullController.h Make the Null Controller respond properly. 2021-03-14 21:00:47 +00:00
NullDisplay.cpp Restore the branch 2020-12-15 16:21:07 +00:00
NullDisplay.h Restore the branch 2020-12-15 16:21:07 +00:00
OLED.cpp Merge branch 'master' into M17_AX25_FM 2021-03-12 19:56:57 +00:00
OLED.h Merge branch 'master' into M17_AX25_FM 2021-03-13 12:03:22 +00:00
OLED.md Merge branch 'M17_AX25_FM' into I2C 2021-02-17 22:17:06 +00:00
P25Audio.cpp
P25Audio.h
P25Control.cpp Ignore M17 packet data, for now. 2021-03-29 19:36:55 +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 Regularise the local address handling across all of the protocol. 2021-04-25 11:10:35 +01:00
P25Network.h Regularise the local address handling across all of the protocol. 2021-04-25 11:10:35 +01:00
P25Trellis.cpp
P25Trellis.h
P25Utils.cpp
P25Utils.h
POCSAGControl.cpp The latest POCSAG display code. 2020-12-15 16:29:17 +00:00
POCSAGControl.h Display the decrypted text on the external displays. 2020-12-14 12:48:56 +00:00
POCSAGDefines.h Add POCSAG processing and display code. 2018-06-11 21:30:49 +01:00
POCSAGNetwork.cpp Regularise the local address handling across all of the protocol. 2021-04-25 11:10:35 +01:00
POCSAGNetwork.h Regularise the local address handling across all of the protocol. 2021-04-25 11:10:35 +01:00
PseudoTTYController.cpp Refactored some class names. 2021-02-16 20:05:03 +00:00
PseudoTTYController.h Refactored some class names. 2021-02-16 20:05:03 +00:00
QR1676.cpp
QR1676.h
README.HD44780
README.daemon
README.md Merge branch 'M17_AX25_FM' into I2C 2021-02-17 22:17:06 +00: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 Add RemoteCommand 'status' command. 2021-03-22 20:32:43 +01: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 Merge branch 'master' into M17_AX25_FM 2021-03-22 22:14:54 +00:00
RemoteControl.h Merge branch 'master' into M17_AX25_FM 2021-03-22 22:14:54 +00:00
RingBuffer.h
SHA256.cpp Allow optional direct connections to masters again. 2020-12-06 16:12:54 +00:00
SHA256.h Allow optional direct connections to masters again. 2020-12-06 16:12:54 +00: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 Update the M17 sync words. 2020-12-26 12:12:52 +00:00
Sync.h Update the M17 sync words. 2020-12-26 12:12:52 +00:00
TFTSurenoo.cpp Restore the branch 2020-12-15 16:21:07 +00:00
TFTSurenoo.h Restore the branch 2020-12-15 16:21:07 +00:00
Thread.cpp NetBSD and other changes. 2020-10-05 12:46:54 +01:00
Thread.h
Timer.cpp
Timer.h
UARTController.cpp Refactored some class names. 2021-02-16 20:05:03 +00:00
UARTController.h Final modem refactoring. 2021-02-17 21:36:47 +00:00
UDPController.cpp Regularise the local address handling across all of the protocol. 2021-04-25 11:10:35 +01:00
UDPController.h Regularise the local address handling across all of the protocol. 2021-04-25 11:10:35 +01:00
UDPSocket.cpp Fix network ports datatype (unsigned int -> unsigned short). UDPSocket: fix old bug using m_port instead of m_port[x]. 2021-04-25 07:47:06 +02:00
UDPSocket.h Fix network ports datatype (unsigned int -> unsigned short). UDPSocket: fix old bug using m_port instead of m_port[x]. 2021-04-25 07:47:06 +02:00
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 Finally process the Golay(24,12,8) parity bit. 2021-03-27 20:00:53 +00:00
Utils.h Finally process the Golay(24,12,8) parity bit. 2021-03-27 20:00:53 +00:00
Version.h Regularise the local address handling across all of the protocol. 2021-04-25 11:10:35 +01:00
YSFControl.cpp Ignore M17 packet data, for now. 2021-03-29 19:36:55 +01:00
YSFControl.h Restore the branch 2020-12-15 16:21:07 +00:00
YSFConvolution.cpp Restore the branch 2020-12-15 16:21:07 +00:00
YSFConvolution.h Restore the branch 2020-12-15 16:21:07 +00:00
YSFDefines.h Restore the branch 2020-12-15 16:21:07 +00:00
YSFFICH.cpp Refactor the Golay 24,12,8 code and its uses. 2021-04-07 19:56:28 +01:00
YSFFICH.h Restore the branch 2020-12-15 16:21:07 +00:00
YSFNetwork.cpp Regularise the local address handling across all of the protocol. 2021-04-25 11:10:35 +01:00
YSFNetwork.h Regularise the local address handling across all of the protocol. 2021-04-25 11:10:35 +01:00
YSFPayload.cpp Restore the branch 2020-12-15 16:21:07 +00:00
YSFPayload.h Restore the branch 2020-12-15 16:21:07 +00: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, M17, POCSAG, FM, and AX.25 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 connects to the DMR Gateway to allow for connection to multiple DMR networks, or a single network directly. 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. On M17 it uses the M17 Gateway to access the M17 reflector system. 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)
  • 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).

The HD44780 displays are integrated with wiringPi for Raspberry Pi based platforms.

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.