Go to file
Jonathan Naylor 063217fde0 Make it compile cleanly under Visual Studio 2009. 2024-07-03 13:44:34 +01:00
Images
Nextion_DB2OE
Nextion_G4KLX
Nextion_ON7LDS
RSSI
Tools
linux
.gitignore
AMBEFEC.cpp
AMBEFEC.h
AX25Control.cpp
AX25Control.h
AX25Defines.h
AX25Network.cpp
AX25Network.h
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 Merge branch 'master' into IAX 2024-07-03 11:55:00 +01:00
Conf.h Merge branch 'master' into IAX 2024-07-03 11:55:00 +01:00
DMRAccessControl.cpp
DMRAccessControl.h
DMRCSBK.cpp
DMRCSBK.h
DMRControl.cpp
DMRControl.h
DMRData.cpp
DMRData.h
DMRDataHeader.cpp
DMRDataHeader.h
DMRDefines.h
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
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
DMRIds.dat
DMRLC.cpp
DMRLC.h
DMRLookup.cpp
DMRLookup.h
DMRNetwork.cpp
DMRNetwork.h
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
DStarHeader.cpp
DStarHeader.h
DStarNetwork.cpp Make the FM resampler optional. 2024-04-29 15:09:20 +01:00
DStarNetwork.h
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
Display.cpp Fix the Winsock compilation errors. 2024-04-22 19:12:33 +01:00
Display.h Fix the Winsock compilation errors. 2024-04-22 19:12:33 +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 Make it compile cleanly under Visual Studio 2009. 2024-07-03 13:44:34 +01:00
FMIAXNetwork.h Make it compile cleanly under Visual Studio 2009. 2024-07-03 13:44:34 +01:00
FMNetwork.cpp Merge branch 'master' into IAX 2024-07-03 11:55:00 +01:00
FMNetwork.h Merge branch 'master' into IAX 2024-07-03 11:55:00 +01:00
FMRAWNetwork.cpp Make it compile cleanly under Visual Studio 2009. 2024-07-03 13:44:34 +01:00
FMRAWNetwork.h Merge branch 'master' into IAX 2024-07-03 11:55:00 +01:00
FMUSRPNetwork.cpp Make it compile cleanly under Visual Studio 2009. 2024-07-03 13:44:34 +01:00
FMUSRPNetwork.h Change the interface to the FM networking. 2024-02-01 13:31:04 +00:00
Golay2087.cpp
Golay2087.h
Golay24128.cpp
Golay24128.h
HD44780.cpp
HD44780.h
HD44780.layouts
Hamming.cpp
Hamming.h
I2CController.cpp
I2CController.h
IIRDirectForm1Filter.cpp
IIRDirectForm1Filter.h
LCDproc.cpp Begin getting it to compile on Windows again. 2024-04-22 12:48:44 +01:00
LCDproc.h Fix the Winsock compilation errors. 2024-04-22 19:12:33 +01:00
LICENCE
Log.cpp
Log.h
M17CRC.cpp
M17CRC.h
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
M17Convolution.h
M17Defines.h
M17LSF.cpp Initialise the M17 LSF correctly when not initialised. 2023-12-06 15:36:50 +00:00
M17LSF.h
M17Network.cpp Remove the debugging statements. 2023-12-06 17:30:03 +00:00
M17Network.h
M17Utils.cpp add missing header file cstdint for using uint64_t and uint8_t 2023-10-10 18:53:57 +08:00
M17Utils.h
MMDVM.ini Merge branch 'master' into IAX 2024-07-03 11:55:00 +01:00
MMDVMHost.cpp Merge branch 'master' into IAX 2024-07-03 11:55:00 +01:00
MMDVMHost.h Initial scaffolding for IAX on FM. 2024-01-31 15:34:19 +00:00
MMDVMHost.sln
MMDVMHost.vcxproj Make it compile cleanly under Visual Studio 2009. 2024-07-03 13:44:34 +01:00
MMDVMHost.vcxproj.filters Make it compile cleanly under Visual Studio 2009. 2024-07-03 13:44:34 +01:00
Makefile Merge branch 'master' into IAX 2024-07-03 11:55:00 +01:00
Makefile.Pi.Adafruit Merge branch 'master' into IAX 2024-07-03 11:55:00 +01:00
Makefile.Pi.HD44780 Merge branch 'master' into IAX 2024-07-03 11:55:00 +01:00
Makefile.Pi.I2C Merge branch 'master' into IAX 2024-07-03 11:55:00 +01:00
Makefile.Pi.OLED Merge branch 'master' into IAX 2024-07-03 11:55:00 +01:00
Makefile.Pi.PCF8574 Merge branch 'master' into IAX 2024-07-03 11:55:00 +01:00
Modem.cpp Change the interface to the FM networking. 2024-02-01 13:31:04 +00:00
Modem.h
ModemPort.cpp
ModemPort.h
ModemSerialPort.cpp
ModemSerialPort.h
Mutex.cpp
Mutex.h
NXDN.csv
NXDNAudio.cpp
NXDNAudio.h
NXDNCRC.cpp
NXDNCRC.h
NXDNControl.cpp
NXDNControl.h
NXDNConvolution.cpp
NXDNConvolution.h
NXDNDefines.h
NXDNFACCH1.cpp
NXDNFACCH1.h
NXDNIcomNetwork.cpp
NXDNIcomNetwork.h
NXDNKenwoodNetwork.cpp
NXDNKenwoodNetwork.h
NXDNLICH.cpp
NXDNLICH.h
NXDNLayer3.cpp
NXDNLayer3.h
NXDNLookup.cpp
NXDNLookup.h
NXDNNetwork.cpp
NXDNNetwork.h
NXDNSACCH.cpp
NXDNSACCH.h
NXDNUDCH.cpp
NXDNUDCH.h
NetworkInfo.cpp Fix the Winsock compilation errors. 2024-04-22 19:12:33 +01:00
NetworkInfo.h Fix the Winsock compilation errors. 2024-04-22 19:12:33 +01:00
Nextion.cpp Insert a back channel to Nextion displays running via the modem. 2024-02-23 15:44:54 +00:00
Nextion.h Insert a back channel to Nextion displays running via the modem. 2024-02-23 15:44:54 +00: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
NullDisplay.cpp
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
P25Network.h
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
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
PseudoTTYController.cpp
PseudoTTYController.h
QR1676.cpp
QR1676.h
README.HD44780
README.daemon
README.md
RS129.cpp
RS129.h
RS241213.cpp
RS241213.h
RSSI.dat
RSSIInterpolator.cpp
RSSIInterpolator.h
RemoteCommand.cpp
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
SHA256.h
SMeter.cpp
SMeter.h
SerialPort.cpp
SerialPort.h
StopWatch.cpp
StopWatch.h
Sync.cpp
Sync.h
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
Thread.h
Timer.cpp
Timer.h
UARTController.cpp Remove some serial port oddities. 2024-02-14 13:26:29 +00:00
UARTController.h
UDPController.cpp
UDPController.h
UDPSocket.cpp Simplify the UDP socket handling. 2024-01-29 16:59:34 +00:00
UDPSocket.h Fix the Winsock compilation errors. 2024-04-22 19:12:33 +01:00
UserDB.cpp
UserDB.h
UserDBentry.cpp
UserDBentry.h
Utils.cpp
Utils.h
Version.h Make the FM resampler optional. 2024-04-29 15:09:20 +01:00
YSFControl.cpp
YSFControl.h
YSFConvolution.cpp
YSFConvolution.h
YSFDefines.h
YSFFICH.cpp
YSFFICH.h
YSFNetwork.cpp
YSFNetwork.h
YSFPayload.cpp
YSFPayload.h
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.