Go to file
Jonathan Naylor 45e45da6e6 Substitute the source with the repeaters callsign and add the extended callsign information on RF. 2021-09-21 20:56:11 +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 Rename SimpleMode to LinkMode. 2021-09-06 21:47:23 +01:00
Conf.h Rename SimpleMode to LinkMode. 2021-09-06 21:47:23 +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 Add M17 Codec 1600 mode on RX and remove the remains of M17 packet mode 2021-08-10 19:54:14 +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 Add M17 Codec 1600 mode on RX and remove the remains of M17 packet mode 2021-08-10 19:54:14 +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 Add M17 Codec 1600 mode on RX and remove the remains of M17 packet mode 2021-08-10 19:54:14 +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 Add M17 Codec 1600 mode on RX and remove the remains of M17 packet mode 2021-08-10 19:54:14 +01:00
DStarControl.h Clean up the D-Star Control class a little. 2021-05-18 19:44:41 +01:00
DStarDefines.h Add M17 Codec 1600 mode on RX and remove the remains of M17 packet mode 2021-08-10 19:54:14 +01:00
DStarHeader.cpp
DStarHeader.h
DStarNetwork.cpp Add M17 Codec 1600 mode on RX and remove the remains of M17 packet mode 2021-08-10 19:54:14 +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 Add M17 Codec 1600 mode on RX and remove the remains of M17 packet mode 2021-08-10 19:54:14 +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 M17 Codec 1600 mode on RX and remove the remains of M17 packet mode 2021-08-10 19:54:14 +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
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 Substitute the source with the repeaters callsign and add the extended callsign information on RF. 2021-09-21 20:56:11 +01:00
M17Control.h Substitute the source with the repeaters callsign and add the extended callsign information on RF. 2021-09-21 20:56:11 +01:00
M17Convolution.cpp Fix the calculation of the Link Setup BER. 2021-09-05 16:19:05 +01:00
M17Convolution.h Get the convolution BER directly from the decoder. 2021-06-27 17:29:55 +01:00
M17Defines.h Substitute the source with the repeaters callsign and add the extended callsign information on RF. 2021-09-21 20:56:11 +01:00
M17LSF.cpp Simplify the LSF processing to allow changed META field data changed 2021-08-26 21:49:46 +01:00
M17LSF.h Simplify the LSF processing to allow changed META field data changed 2021-08-26 21:49:46 +01:00
M17Network.cpp Simplify the LSF processing to allow changed META field data changed 2021-08-26 21:49:46 +01:00
M17Network.h Simplify the LSF processing to allow changed META field data changed 2021-08-26 21:49:46 +01:00
M17Utils.cpp Clean up the FEC processing for M17. 2021-07-08 23:00:53 +01:00
M17Utils.h Restore the branch 2020-12-15 16:21:07 +00:00
MMDVM.ini Rename SimpleMode to LinkMode. 2021-09-06 21:47:23 +01:00
MMDVMHost.cpp Rename SimpleMode to LinkMode. 2021-09-06 21:47:23 +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 'master' into M17_AX25_FM 2021-05-18 20:05:40 +01:00
MMDVMHost.vcxproj.filters Merge branch 'master' into M17_AX25_FM 2021-05-18 20:05:40 +01:00
Makefile Merge branch 'master' into M17_AX25_FM 2021-05-18 20:05:40 +01:00
Makefile.Pi Merge branch 'master' into M17_AX25_FM 2021-05-18 20:05:40 +01:00
Makefile.Pi.Adafruit Add missing SMeter. 2021-06-17 07:33:01 +02:00
Makefile.Pi.HD44780 Merge branch 'master' into M17_AX25_FM 2021-05-18 20:05:40 +01:00
Makefile.Pi.OLED Merge branch 'master' into M17_AX25_FM 2021-05-18 20:05:40 +01:00
Makefile.Pi.PCF8574 Merge branch 'master' into M17_AX25_FM 2021-05-18 20:05:40 +01:00
Modem.cpp Change to the new method of M17 EOT transmission. 2021-09-19 15:15:37 +01:00
Modem.h Rename SimpleMode to LinkMode. 2021-09-06 21:47:23 +01:00
ModemPort.cpp Final modem refactoring. 2021-02-17 21:36:47 +00:00
ModemPort.h OSX build error fixes 2021-08-13 15:00:17 -04: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 Add M17 Codec 1600 mode on RX and remove the remains of M17 packet mode 2021-08-10 19:54:14 +01:00
NXDNControl.h More work on integrating the Kenwood NXDN protocol. 2020-05-27 12:07:21 +01:00
NXDNConvolution.cpp Get the convolution BER directly from the decoder. 2021-06-27 17:29:55 +01:00
NXDNConvolution.h Get the convolution BER directly from the decoder. 2021-06-27 17:29:55 +01:00
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
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
NXDNSACCH.h
NXDNUDCH.cpp
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 OSX build error fixes 2021-08-13 15:00:17 -04: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 Update OLED.md 2019-12-04 15:07:54 +01:00
P25Audio.cpp
P25Audio.h
P25Control.cpp Add M17 Codec 1600 mode on RX and remove the remains of M17 packet mode 2021-08-10 19:54:14 +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
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 Display the rubric of the encrypted messages. 2020-12-15 14:27:47 +00:00
POCSAGControl.h Display the decrypted text on the external displays. 2020-12-14 12:48:56 +00:00
POCSAGDefines.h
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 OSX build error fixes 2021-08-13 15:00:17 -04: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 Finish off the UDP Controller and more clean-ups. 2021-02-17 19:35:28 +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
SMeter.cpp Clean up the D-Star Control class a little. 2021-05-18 19:44:41 +01:00
SMeter.h Clean up the D-Star Control class a little. 2021-05-18 19:44:41 +01:00
SerialPort.cpp
SerialPort.h
StopWatch.cpp
StopWatch.h
Sync.cpp Change to the new method of M17 EOT transmission. 2021-09-19 15:15:37 +01:00
Sync.h Change to the new method of M17 EOT transmission. 2021-09-19 15:15:37 +01: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 OSX build error fixes 2021-08-13 15:00:17 -04: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 OSX build error fixes 2021-08-13 15:00:17 -04: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 Add extra logging to the ID lookup processing. 2021-06-27 22:16:26 +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 Merge branch 'master' into M17_AX25_FM 2021-05-18 20:05:40 +01:00
Utils.h Merge branch 'master' into M17_AX25_FM 2021-05-18 20:05:40 +01:00
Version.h Substitute the source with the repeaters callsign and add the extended callsign information on RF. 2021-09-21 20:56:11 +01:00
YSFControl.cpp Add M17 Codec 1600 mode on RX and remove the remains of M17 packet mode 2021-08-10 19:54:14 +01:00
YSFControl.h Restore the branch 2020-12-15 16:21:07 +00:00
YSFConvolution.cpp Get the convolution BER directly from the decoder. 2021-06-27 17:29:55 +01:00
YSFConvolution.h Get the convolution BER directly from the decoder. 2021-06-27 17:29:55 +01: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 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.