Go to file
Jonathan Naylor 953eecdabd Merge branch 'master' into IAX 2024-02-09 15:57:45 +00: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 Changes To Agree With Code In Nextion.cpp 2021-11-25 16:06:17 -05: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 Refresh the display handlers. 2023-10-03 16:20:29 +01:00
CASTInfo.h Refresh the display handlers. 2023-10-03 16:20:29 +01:00
CRC.cpp
CRC.h
Conf.cpp Add the IAX configuration options. 2024-02-01 12:54:24 +00:00
Conf.h Add the IAX configuration options. 2024-02-01 12:54:24 +00:00
DMRAccessControl.cpp
DMRAccessControl.h
DMRCSBK.cpp Emergency call CSBK support. 2022-12-15 14:11:40 +03:00
DMRCSBK.h Emergency call CSBK support. 2022-12-15 14:11:40 +03: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 UDP socket handling for DMR, POCSAG and the Remote Control port. 2024-02-01 14:31:03 +00:00
DMRDirectNetwork.h Regularise the local address handling across all of the protocol. 2021-04-25 11:10:35 +01:00
DMREMB.cpp
DMREMB.h
DMREmbeddedData.cpp
DMREmbeddedData.h
DMRFullLC.cpp
DMRFullLC.h
DMRGatewayNetwork.cpp Regularise the UDP socket handling for DMR, POCSAG and the Remote Control port. 2024-02-01 14:31:03 +00:00
DMRGatewayNetwork.h Regularise the local address handling across all of the protocol. 2021-04-25 11:10:35 +01:00
DMRIds.dat
DMRLC.cpp Rewrite the OVCM handling. 2022-05-23 22:35:14 +01:00
DMRLC.h Rewrite the OVCM handling. 2022-05-23 22:35:14 +01: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 Fix formatting. 2023-09-27 14:29:34 +01:00
DMRSlot.h Clean up the DMR Talker Alias code and logging. 2023-06-06 20:33:25 +01:00
DMRSlotType.cpp
DMRSlotType.h
DMRTA.cpp Fix memcpy overflow, as src and dest are 32 bytes long, only 31 bytes has to be copied, not 32, since an offset is applied to src. 2023-08-10 08:08:06 +02:00
DMRTA.h Clean up the DMR Talker Alias code and logging. 2023-06-06 20:33:25 +01:00
DMRTrellis.cpp Fix trellis enocder/decoder bit order: invert bit order 2023-09-17 22:17:23 +02:00
DMRTrellis.h
DMRplus_startup_options.md
DStarControl.cpp Add interpretation of D-Star slow data text. 2023-06-16 11:35:16 +01:00
DStarControl.h Add interpretation of D-Star slow data text. 2023-06-16 11:35:16 +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 new remote command: 2022-01-21 10:51:41 +00:00
DStarNetwork.h Regularise the local address handling across all of the protocol. 2021-04-25 11:10:35 +01:00
DStarSlowData.cpp Add interpretation of D-Star slow data text. 2023-06-16 11:35:16 +01:00
DStarSlowData.h Add interpretation of D-Star slow data text. 2023-06-16 11:35:16 +01:00
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 TFTSurenoo: add 240x320 panel support 2023-12-28 22:45:40 +09:00
Display.h Refresh the display handlers. 2023-10-03 16:20:29 +01:00
Dockerfile Update Dockerfile add dependency libsamplerate-dev 2023-12-24 00:19:28 +08:00
FMControl.cpp Change the interface to the FM networking. 2024-02-01 13:31:04 +00:00
FMControl.h Change the interface to the FM networking. 2024-02-01 13:31:04 +00:00
FMIAXNetwork.cpp Don't update the sequence numbers on an ACK. 2024-02-06 16:19:47 +00:00
FMIAXNetwork.h Handle incoming Key On and Key Off events, and reduce the logging. 2024-02-06 15:12:07 +00:00
FMNetwork.cpp Initial scaffolding for IAX on FM. 2024-01-31 15:34:19 +00:00
FMNetwork.h Change the interface to the FM networking. 2024-02-01 13:31:04 +00:00
FMRAWNetwork.cpp Change the interface to the FM networking. 2024-02-01 13:31:04 +00:00
FMRAWNetwork.h Change the interface to the FM networking. 2024-02-01 13:31:04 +00:00
FMUSRPNetwork.cpp Change the interface to the FM networking. 2024-02-01 13:31:04 +00:00
FMUSRPNetwork.h Change the interface to the FM networking. 2024-02-01 13:31:04 +00: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 Fix method name. 2021-10-22 09:16:44 +01:00
HD44780.h Add M17 to the HD44780 display. 2021-10-21 20:53:00 +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 Refresh the display handlers. 2023-10-03 16:20:29 +01:00
LICENCE
Log.cpp Fix compiler warning 2021-10-25 17:57:41 +01: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 Remove the debugging statements. 2023-12-06 17:30:03 +00:00
M17Control.h Add M17 LSF Text data interpretation. 2023-06-16 12:14:35 +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 Initialise the M17 LSF correctly when not initialised. 2023-12-06 15:36:50 +00:00
M17LSF.h Simplify the LSF processing to allow changed META field data changed 2021-08-26 21:49:46 +01:00
M17Network.cpp Remove the debugging statements. 2023-12-06 17:30:03 +00:00
M17Network.h Add M17 network status to Remote command "status" output. 2022-01-07 11:47:19 +00:00
M17Utils.cpp add missing header file cstdint for using uint64_t and uint8_t 2023-10-10 18:53:57 +08:00
M17Utils.h Restore the branch 2020-12-15 16:21:07 +00:00
MMDVM.ini Add the IAX configuration options. 2024-02-01 12:54:24 +00:00
MMDVMHost.cpp Add the IAX configuration options. 2024-02-01 12:54:24 +00:00
MMDVMHost.h Initial scaffolding for IAX on FM. 2024-01-31 15:34:19 +00:00
MMDVMHost.sln
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 Add the IAX configuration options. 2024-02-01 12:54:24 +00:00
Makefile.Pi.Adafruit Add the IAX configuration options. 2024-02-01 12:54:24 +00:00
Makefile.Pi.HD44780 Add the IAX configuration options. 2024-02-01 12:54:24 +00:00
Makefile.Pi.I2C Add the IAX configuration options. 2024-02-01 12:54:24 +00:00
Makefile.Pi.OLED Add the IAX configuration options. 2024-02-01 12:54:24 +00:00
Makefile.Pi.PCF8574 Add the IAX configuration options. 2024-02-01 12:54:24 +00:00
Modem.cpp Change the interface to the FM networking. 2024-02-01 13:31:04 +00: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
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
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
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 Refresh the display handlers. 2023-10-03 16:20:29 +01:00
Nextion.h Refresh the display handlers. 2023-10-03 16:20:29 +01:00
NullController.cpp add missing header file cstdint for using uint64_t and uint8_t 2023-10-10 18:53:57 +08: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 Refresh the display handlers. 2023-10-03 16:20:29 +01:00
OLED.cpp Fix the OLED driver. 2023-10-09 17:21:09 +01:00
OLED.h Fix the OLED driver. 2023-10-09 17:21:09 +01:00
OLED.md
P25Audio.cpp
P25Audio.h
P25Control.cpp Hopefully fix the unreceivable P25 transmissions. 2024-02-07 19:38:54 +00:00
P25Control.h Remove P25 LDU validation. 2024-01-26 16:12:58 +00:00
P25Data.cpp Hopefully fix the unreceivable P25 transmissions. 2024-02-07 19:38:54 +00:00
P25Data.h
P25Defines.h
P25LowSpeedData.cpp
P25LowSpeedData.h
P25NID.cpp
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 This PR/commit fixes #785, where POCSAG messages are now properly 2024-01-09 10:00:04 -06:00
POCSAGControl.h Page alert commands 2022-11-26 11:04:01 +01:00
POCSAGDefines.h
POCSAGNetwork.cpp Regularise the UDP socket handling for DMR, POCSAG and the Remote Control port. 2024-02-01 14:31:03 +00:00
POCSAGNetwork.h Regularise the local address handling across all of the protocol. 2021-04-25 11:10:35 +01:00
PseudoTTYController.cpp <pty.h>: linux only 2021-10-24 13:17:47 +09: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 Update the README. 2021-12-13 10:32:28 +00:00
RS129.cpp
RS129.h
RS241213.cpp
RS241213.h
RSSI.dat
RSSIInterpolator.cpp
RSSIInterpolator.h
RemoteCommand.cpp Merge pull request #736 from f1rmb/hosts_remote_command 2022-01-24 07:12:44 +00:00
RemoteCommand.h
RemoteCommand.vcxproj
RemoteCommand.vcxproj.filters
RemoteControl.cpp Regularise the UDP socket handling for DMR, POCSAG and the Remote Control port. 2024-02-01 14:31:03 +00:00
RemoteControl.h Regularise the UDP socket handling for DMR, POCSAG and the Remote Control port. 2024-02-01 14:31:03 +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 TFTSurenoo: add 240x320 panel support 2023-12-28 22:45:40 +09:00
TFTSurenoo.h TFTSurenoo: add 240x320 panel support 2023-12-28 22:45:40 +09:00
Thread.cpp NetBSD and other changes. 2020-10-05 12:46:54 +01:00
Thread.h
Timer.cpp
Timer.h
UARTController.cpp Adding high speed UART support for Armbian + AllWinnder H2/H3 SBCs (ie. NanoPi NEO, OrangePi Zero, etc.) 2023-01-09 07:26:12 -06: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 Simplify the UDP socket handling. 2024-01-29 16:59:34 +00:00
UDPSocket.h Simplify the UDP socket handling. 2024-01-29 16:59:34 +00:00
UserDB.cpp Add extra logging to the ID lookup processing. 2021-06-27 22:16:26 +01:00
UserDB.h
UserDBentry.cpp
UserDBentry.h
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 Bump the version date. 2024-02-09 15:56:49 +00: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 Add M17 network status to Remote command "status" output. 2022-01-07 11:47:19 +00: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 primarily intended for amateur and educational use.