Go to file
Jonathan Naylor 75e8e95aad Add FM network audio gain and optional pre- and de-emphasis. 2021-03-14 14:59:34 +00:00
Images Restore the branch 2020-12-15 16:21:07 +00:00
Nextion_DB2OE Add DB2OE Nextion layouts. 2017-08-20 12:35:03 +01:00
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 Create RSSI_FC-302_RptrBldrV2.dat 2018-02-04 14:30:23 +01:00
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 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 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 Add FM network audio gain and optional pre- and de-emphasis. 2021-03-14 14:59:34 +00:00
Conf.h Add FM network audio gain and optional pre- and de-emphasis. 2021-03-14 14:59:34 +00:00
DMRAccessControl.cpp Cleanup the access control slightly. 2017-07-16 19:31:27 +01:00
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 Final modem refactoring. 2021-02-17 21:36:47 +00:00
DMRControl.h Final modem refactoring. 2021-02-17 21:36:47 +00: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 Remove unused code. 2017-05-19 08:35:14 +01:00
DMRDataHeader.h Remove unneeded code. 2017-05-15 22:12:39 +01:00
DMRDefines.h Change of the DMR Silence Data for AMBE+2 silence pattern 2018-02-09 14:57:09 -03:00
DMRDirectNetwork.cpp Move the host lookup for the DMR Direct Network. 2021-03-12 19:56:05 +00:00
DMRDirectNetwork.h Move the host lookup for the DMR Direct Network. 2021-03-12 19:56:05 +00:00
DMREMB.cpp change variable type to unsigned char 2019-12-07 23:25:57 +08:00
DMREMB.h
DMREmbeddedData.cpp Fixing last byte of Embedded Data 2017-04-04 23:02:19 -03:00
DMREmbeddedData.h Upgrade the Embedded Data regeneration. 2017-01-10 19:27:12 +00:00
DMRFullLC.cpp
DMRFullLC.h
DMRGatewayNetwork.cpp DMR networking code cleanup. 2021-03-09 20:59:04 +00:00
DMRGatewayNetwork.h Reinstate the full RPTC command. 2020-12-09 09:41:11 +00: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 Reinstate the full RPTC command. 2020-12-09 09:41:11 +00:00
DMRShortLC.cpp
DMRShortLC.h
DMRSlot.cpp Add mode 4 (force off) for the DMR OVCM flag. 2021-03-07 17:42:55 +00: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 Merge branch 'master' into M17_AX25_FM 2021-01-02 12:56:27 +00:00
DStarControl.h Detect DV Fast Data on a per-frame basis 2020-11-29 16:12:58 -05:00
DStarDefines.h Avoid FEC regeneration and DTMF blanking for null AMBE data 2020-12-13 19:25:09 -05:00
DStarHeader.cpp
DStarHeader.h
DStarNetwork.cpp Clean ups for IPv6. 2020-09-06 12:54:08 +01:00
DStarNetwork.h Clean ups for IPv6. 2020-09-06 12:54:08 +01:00
DStarSlowData.cpp
DStarSlowData.h
Defines.h Merge branch 'master' into M17_AX25_FM 2021-03-07 17:51:06 +00: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 Remove Log repertory 2018-01-04 01:09:37 +01:00
FMControl.cpp Add FM network audio gain and optional pre- and de-emphasis. 2021-03-14 14:59:34 +00:00
FMControl.h Add FM network audio gain and optional pre- and de-emphasis. 2021-03-14 14:59:34 +00:00
FMNetwork.cpp Add FM network audio gain and optional pre- and de-emphasis. 2021-03-14 14:59:34 +00:00
FMNetwork.h Add FM network audio gain and optional pre- and de-emphasis. 2021-03-14 14:59:34 +00:00
Golay2087.cpp
Golay2087.h
Golay24128.cpp
Golay24128.h
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 Restore the branch 2020-12-15 16:21:07 +00:00
LCDproc.h Restore the branch 2020-12-15 16:21:07 +00: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 Restore the branch 2020-12-15 16:21:07 +00:00
M17CRC.h Restore the branch 2020-12-15 16:21:07 +00:00
M17Control.cpp Update the M17 sync words. 2020-12-26 12:12:52 +00:00
M17Control.h Restore the branch 2020-12-15 16:21:07 +00:00
M17Convolution.cpp Restore the branch 2020-12-15 16:21:07 +00:00
M17Convolution.h Restore the branch 2020-12-15 16:21:07 +00:00
M17Defines.h Update the M17 sync words. 2020-12-26 12:12:52 +00:00
M17LICH.cpp Restore the branch 2020-12-15 16:21:07 +00:00
M17LICH.h Restore the branch 2020-12-15 16:21:07 +00:00
M17Network.cpp Restore the branch 2020-12-15 16:21:07 +00:00
M17Network.h Restore the branch 2020-12-15 16:21:07 +00:00
M17Utils.cpp Restore the branch 2020-12-15 16:21:07 +00:00
M17Utils.h Restore the branch 2020-12-15 16:21:07 +00:00
MMDVM.ini Add FM network audio gain and optional pre- and de-emphasis. 2021-03-14 14:59:34 +00:00
MMDVMHost.cpp Add FM network audio gain and optional pre- and de-emphasis. 2021-03-14 14:59:34 +00:00
MMDVMHost.h Final modem refactoring. 2021-02-17 21:36:47 +00:00
MMDVMHost.sln Add VS2017 files for Remote Command. 2019-01-19 17:27:41 +00:00
MMDVMHost.vcxproj Final modem refactoring. 2021-02-17 21:36:47 +00:00
MMDVMHost.vcxproj.filters Final modem refactoring. 2021-02-17 21:36:47 +00:00
Makefile Final modem refactoring. 2021-02-17 21:36:47 +00:00
Makefile.Pi Final modem refactoring. 2021-02-17 21:36:47 +00:00
Makefile.Pi.Adafruit Final modem refactoring. 2021-02-17 21:36:47 +00:00
Makefile.Pi.HD44780 Final modem refactoring. 2021-02-17 21:36:47 +00:00
Makefile.Pi.OLED Final modem refactoring. 2021-02-17 21:36:47 +00:00
Makefile.Pi.PCF8574 Final modem refactoring. 2021-02-17 21:36:47 +00:00
Modem.cpp Final modem refactoring. 2021-02-17 21:36:47 +00:00
Modem.h Final modem refactoring. 2021-02-17 21:36:47 +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 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 Restore the branch 2020-12-15 16:21:07 +00: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 Clean ups for IPv6. 2020-09-06 12:54:08 +01:00
NXDNIcomNetwork.h Clean ups for IPv6. 2020-09-06 12:54:08 +01:00
NXDNKenwoodNetwork.cpp Clean ups for IPv6. 2020-09-06 12:54:08 +01:00
NXDNKenwoodNetwork.h Clean ups for IPv6. 2020-09-06 12:54:08 +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 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 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 Fix osx compile error 2020-10-31 19:53:00 +08:00
NetworkInfo.h Reformat code and make small alterations. 2017-11-15 10:47:56 +00:00
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 Finish off the UDP Controller and more clean-ups. 2021-02-17 19:35:28 +00:00
NullController.h Final modem refactoring. 2021-02-17 21:36: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 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 Clean ups for IPv6. 2020-09-06 12:54:08 +01:00
P25Network.h Clean ups for IPv6. 2020-09-06 12:54:08 +01:00
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 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 Add POCSAG processing and display code. 2018-06-11 21:30:49 +01:00
POCSAGNetwork.cpp Clean ups for IPv6. 2020-09-06 12:54:08 +01:00
POCSAGNetwork.h Clean ups for IPv6. 2020-09-06 12:54:08 +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 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 optional log file rotation and UDP socket reopening. 2020-10-31 21:35:09 +00: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-01-01 14:45:08 +00:00
RemoteControl.h Merge branch 'master' into M17_AX25_FM 2021-01-01 14:45:08 +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 Small UDP modem update. 2021-02-18 22:56:20 +00:00
UDPController.h Final modem refactoring. 2021-02-17 21:36:47 +00:00
UDPSocket.cpp Fix missing Log.h handling in UDPSocket.cpp 2020-10-31 22:08:38 +00:00
UDPSocket.h Fix Windows execution. 2020-09-20 21:31:32 +01: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 Revert "First attempt at detecting D-Star data frames, Kenwood and Icom." 2020-11-27 18:01:02 -05:00
Utils.h Revert "First attempt at detecting D-Star data frames, Kenwood and Icom." 2020-11-27 18:01:02 -05:00
Version.h Allow the USRP audio format to be used natively by the FM networking. 2021-03-14 12:16:39 +00:00
YSFControl.cpp Restore the branch 2020-12-15 16:21:07 +00: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 Restore the branch 2020-12-15 16:21:07 +00:00
YSFFICH.h Restore the branch 2020-12-15 16:21:07 +00:00
YSFNetwork.cpp Restore the branch 2020-12-15 16:21:07 +00:00
YSFNetwork.h Restore the branch 2020-12-15 16:21:07 +00: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 Fixed typo in generated header file and tested more 2017-03-10 03:32:00 +00:00

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.