Go to file
Jonathan Naylor 5a12f49a6e Make the compilation of FM support conditional. 2023-06-29 15:57:13 +01: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 Refactor the Golay 24,12,8 code and its uses. 2021-04-07 19:56:28 +01: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 Make compiling AX.25 conditional. 2023-06-29 11:59:52 +01:00
AX25Control.h Make compiling AX.25 conditional. 2023-06-29 11:59:52 +01:00
AX25Defines.h Restore the branch 2020-12-15 16:21:07 +00:00
AX25Network.cpp Make compiling AX.25 conditional. 2023-06-29 11:59:52 +01:00
AX25Network.h Make compiling AX.25 conditional. 2023-06-29 11:59:52 +01:00
BCH.cpp Change the semantics of the NID processor. 2016-09-19 22:26:42 +01:00
BCH.h Add the P25 NID BCH encoder. 2016-09-19 21:41:34 +01:00
BPTC19696.cpp
BPTC19696.h
CRC.cpp
CRC.h
Conf.cpp Make the compilation of FM support conditional. 2023-06-29 15:57:13 +01:00
Conf.h Make the compilation of FM support conditional. 2023-06-29 15:57:13 +01:00
DMRAccessControl.cpp Cleanup the access control slightly. 2017-07-16 19:31:27 +01:00
DMRAccessControl.h Add RSSI display for all modes. 2017-01-05 19:15:10 +00:00
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 Remove all of the display processing from the code. 2023-06-16 17:18:43 +01:00
DMRControl.h Remove all of the display processing from the code. 2023-06-16 17:18:43 +01: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 Add M17 Codec 1600 mode on RX and remove the remains of M17 packet mode 2021-08-10 19:54:14 +01: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
DMRIds.dat Update the DMR Ids. 2019-11-07 13:53:57 +00:00
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 Remove the direct network access to DMR Masters. 2023-06-05 17:30:39 +01:00
DMRNetwork.h Remove the direct network access to DMR Masters. 2023-06-05 17:30:39 +01:00
DMRShortLC.cpp
DMRShortLC.h
DMRSlot.cpp Merge branch 'mqtt' into mqtt_plus 2023-06-19 14:08:53 +01:00
DMRSlot.h Remove all of the display processing from the code. 2023-06-16 17:18:43 +01:00
DMRSlotType.cpp
DMRSlotType.h
DMRTA.cpp Clean up the DMR Talker Alias code and logging. 2023-06-06 20:33:25 +01:00
DMRTA.h Clean up the DMR Talker Alias code and logging. 2023-06-06 20:33:25 +01:00
DMRTrellis.cpp Improve the FEC reconstruction a little. 2016-07-19 17:24:11 +01:00
DMRTrellis.h Improve the FEC reconstruction a little. 2016-07-19 17:24:11 +01:00
DMRplus_startup_options.md how to work with the Options-settings 2016-11-11 22:05:26 +01:00
DStarControl.cpp Merge branch 'mqtt' into mqtt_plus 2023-06-19 14:08:53 +01:00
DStarControl.h Remove all of the display processing from the code. 2023-06-16 17:18:43 +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 Remobe AMBE regeneration on data packets. 2016-10-05 07:42:41 +01:00
DStarHeader.h Remobe AMBE regeneration on data packets. 2016-10-05 07:42:41 +01:00
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 Make the various modes optional within the executable. 2023-06-29 11:59:21 +01:00
Dockerfile Remove Log repertory 2018-01-04 01:09:37 +01:00
FMControl.cpp Make the compilation of FM support conditional. 2023-06-29 15:57:13 +01:00
FMControl.h Make the compilation of FM support conditional. 2023-06-29 15:57:13 +01:00
FMNetwork.cpp Make the compilation of FM support conditional. 2023-06-29 15:57:13 +01:00
FMNetwork.h Make the compilation of FM support conditional. 2023-06-29 15:57:13 +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
Hamming.cpp More work with decoding and regenerating P25. 2016-09-13 18:27:50 +01:00
Hamming.h More work with decoding and regenerating P25. 2016-09-13 18:27:50 +01:00
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
LICENCE
Log.cpp Remove the file based logging, only go via MQTT from now on. 2023-06-29 11:03:06 +01:00
Log.h Remove the file based logging, only go via MQTT from now on. 2023-06-29 11:03:06 +01: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 Merge branch 'mqtt' into mqtt_plus 2023-06-19 14:08:53 +01:00
M17Control.h Remove all of the display processing from the code. 2023-06-16 17:18:43 +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 Add M17 network status to Remote command "status" output. 2022-01-07 11:47:19 +00:00
M17Network.h Add M17 network status to Remote command "status" output. 2022-01-07 11:47:19 +00: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 Remove the file based logging, only go via MQTT from now on. 2023-06-29 11:03:06 +01:00
MMDVMHost.cpp Make the compilation of FM support conditional. 2023-06-29 15:57:13 +01:00
MMDVMHost.h Make the compilation of FM support conditional. 2023-06-29 15:57:13 +01:00
MMDVMHost.sln Use MQTT for the remote command handling. 2023-06-20 15:27:56 +01:00
MMDVMHost.vcxproj Add support for passthrough of serial data from MQTT to the spare serial port on an MMDVM modem/hotspot. 2023-06-20 16:33:33 +01:00
MMDVMHost.vcxproj.filters Add support for passthrough of serial data from MQTT to the spare serial port on an MMDVM modem/hotspot. 2023-06-20 16:33:33 +01:00
MQTTConnection.cpp Add support for passthrough of serial data from MQTT to the spare serial port on an MMDVM modem/hotspot. 2023-06-20 16:33:33 +01:00
MQTTConnection.h Add support for passthrough of serial data from MQTT to the spare serial port on an MMDVM modem/hotspot. 2023-06-20 16:33:33 +01:00
Makefile Add support for passthrough of serial data from MQTT to the spare serial port on an MMDVM modem/hotspot. 2023-06-20 16:33:33 +01:00
Modem.cpp Make the compilation of FM support conditional. 2023-06-29 15:57:13 +01:00
Modem.h Make the compilation of FM support conditional. 2023-06-29 15:57:13 +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
Mutex.cpp Add the Mutex class. 2016-10-06 20:06:57 +01:00
Mutex.h Add the Mutex class. 2016-10-06 20:06:57 +01:00
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 Merge branch 'mqtt' into mqtt_plus 2023-06-19 14:08:53 +01:00
NXDNControl.h Remove all of the display processing from the code. 2023-06-16 17:18:43 +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 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 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 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 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 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
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
P25Audio.cpp Fix obvious mistake in P25 network audio. 2016-10-03 19:28:01 +01:00
P25Audio.h Add the IMBE packing/unpacking code. 2016-09-21 07:04:12 +01:00
P25Control.cpp Merge branch 'mqtt' into mqtt_plus 2023-06-19 14:08:53 +01:00
P25Control.h Remove all of the display processing from the code. 2023-06-16 17:18:43 +01: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 Finish off the basics of the P25 network handling. 2016-09-22 19:39:19 +01:00
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 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 Make the compilation of POCSAG conditional. 2023-06-29 12:46:03 +01:00
POCSAGControl.h Make the compilation of POCSAG conditional. 2023-06-29 12:46:03 +01:00
POCSAGDefines.h Add POCSAG processing and display code. 2018-06-11 21:30:49 +01:00
POCSAGNetwork.cpp Make the compilation of POCSAG conditional. 2023-06-29 12:46:03 +01:00
POCSAGNetwork.h Make the compilation of POCSAG conditional. 2023-06-29 12:46:03 +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.daemon
README.md Remove all of the display processing from the code. 2023-06-16 17:18:43 +01: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 Use a linear interpolator for the reported RSSI values. 2016-12-21 19:58:46 +00:00
RSSIInterpolator.cpp Type correction. 2016-12-22 10:29:39 +00:00
RSSIInterpolator.h Use a linear interpolator for the reported RSSI values. 2016-12-21 19:58:46 +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 Make the compilation of FM support conditional. 2023-06-29 15:57:13 +01:00
RemoteControl.h Make the compilation of FM support conditional. 2023-06-29 15:57:13 +01:00
RingBuffer.h Attempt to recover from ring buffer overflows (#141) 2016-09-23 14:48:44 +01:00
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 Allow the modem to host a serial display. 2016-10-06 18:38:16 +01:00
SerialPort.h Allow the modem to host a serial display. 2016-10-06 18:38:16 +01:00
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 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
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 Rename MQTTPublisher to MQTTConnection. 2023-06-19 14:57:30 +01: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 Add JSON to the M17 protocol. 2022-12-29 15:44:00 +00:00
Utils.h Add JSON to the M17 protocol. 2022-12-29 15:44:00 +00:00
Version.h Fix version # per G4KLX, fix OLED IP spacing in idle mode, improve auto-ap stats in OLED 2023-06-11 14:15:08 -05:00
YSFControl.cpp Merge branch 'mqtt' into mqtt_plus 2023-06-19 14:08:53 +01:00
YSFControl.h Remove all of the display processing from the code. 2023-06-16 17:18:43 +01: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 Fixed typo in generated header file and tested more 2017-03-10 03:32:00 +00:00
schema.json Remove the unneeded source from the JSON except for the start of the transmission. 2023-06-09 17:24:07 +01: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.

This software is licenced under the GPL v2 and is primarily intended for amateur and educational use.