Go to file
Jonathan Naylor 950e43ea74 Merge branch 'master' into mqtt 2023-08-10 12:05:18 +01:00
Images
Nextion_DB2OE
Nextion_G4KLX
Nextion_ON7LDS Changes To Agree With Code In Nextion.cpp 2021-11-25 16:06:17 -05:00
RSSI
Tools
linux
.gitignore
AMBEFEC.cpp Refactor the Golay 24,12,8 code and its uses. 2021-04-07 19:56:28 +01:00
AMBEFEC.h
AX25Control.cpp Minor rework of JSON creation. 2023-01-19 10:08:50 +00:00
AX25Control.h Add AX.25 to JSON/MQTT. 2023-01-18 20:56:37 +00:00
AX25Defines.h
AX25Network.cpp
AX25Network.h
BCH.cpp
BCH.h
BPTC19696.cpp
BPTC19696.h
CASTInfo.cpp
CASTInfo.h
CRC.cpp
CRC.h
Conf.cpp Filter the log data sent to MQTT based on the MQTTLevel setting. 2022-11-29 18:04:03 +00:00
Conf.h Filter the log data sent to MQTT based on the MQTTLevel setting. 2022-11-29 18:04:03 +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
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
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
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
DMRLookup.h
DMRNetwork.cpp
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 Disable JSON RSSI reporting when RSSI is not being used. 2023-06-19 13:58:10 +01:00
DMRSlot.h Add JSON RSSI, DMR and Talker Alias to DMR. 2023-06-11 11:38:59 +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
DMRTrellis.h
DMRplus_startup_options.md
DStarControl.cpp Disable JSON RSSI reporting when RSSI is not being used. 2023-06-19 13:58:10 +01:00
DStarControl.h Merge branch 'master' into mqtt 2023-06-16 12:24:03 +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 Clean up the DMR Talker Alias code and logging. 2023-06-06 20:33:25 +01:00
Display.h Clean up the DMR Talker Alias code and logging. 2023-06-06 20:33:25 +01:00
Dockerfile
FMControl.cpp Add FM to JSON/MQTT. 2023-01-18 14:58:06 +00:00
FMControl.h Add FM to JSON/MQTT. 2023-01-18 14:58:06 +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 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
I2CController.h
IIRDirectForm1Filter.cpp
IIRDirectForm1Filter.h
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 Fix the RSSI reported by M17. 2023-01-04 20:47:49 +00:00
Log.h Fix the top level JSON category. 2023-01-01 18:54:21 +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 Disable JSON RSSI reporting when RSSI is not being used. 2023-06-19 13:58:10 +01:00
M17Control.h Fixuo M17 BER, RSSI, and Text JSON. 2023-06-16 15:07:17 +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
MMDVM.ini Filter the log data sent to MQTT based on the MQTTLevel setting. 2022-11-29 18:04:03 +00:00
MMDVMHost.cpp Add host startup and closedown messages to JSON/MQTT. 2023-06-07 12:27:44 +01:00
MMDVMHost.h Add host startup and closedown messages to JSON/MQTT. 2023-06-07 12:27:44 +01: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
MQTTPublisher.cpp Fix the RSSI reported by M17. 2023-01-04 20:47:49 +00:00
MQTTPublisher.h Clean up the MQTT interface. 2022-11-29 17:18:34 +00:00
Makefile Publish the log data via MQTT topics $NAME/log/$LEVEL. 2022-11-27 20:27:44 +00:00
Makefile.Pi.Adafruit Publish the log data via MQTT topics $NAME/log/$LEVEL. 2022-11-27 20:27:44 +00:00
Makefile.Pi.HD44780 Publish the log data via MQTT topics $NAME/log/$LEVEL. 2022-11-27 20:27:44 +00:00
Makefile.Pi.I2C Merge branch 'master' into mqtt 2023-01-04 16:29:00 +00:00
Makefile.Pi.OLED Publish the log data via MQTT topics $NAME/log/$LEVEL. 2022-11-27 20:27:44 +00:00
Makefile.Pi.PCF8574 Publish the log data via MQTT topics $NAME/log/$LEVEL. 2022-11-27 20:27:44 +00:00
Modem.cpp Add crude M17 capability checking for V1 MMDVMs. 2023-07-23 15:00:07 +01:00
Modem.h Rename SimpleMode to LinkMode. 2021-09-06 21:47:23 +01:00
ModemPort.cpp
ModemPort.h OSX build error fixes 2021-08-13 15:00:17 -04:00
ModemSerialPort.cpp
ModemSerialPort.h
Mutex.cpp
Mutex.h
NXDN.csv
NXDNAudio.cpp
NXDNAudio.h
NXDNCRC.cpp
NXDNCRC.h
NXDNControl.cpp Disable JSON RSSI reporting when RSSI is not being used. 2023-06-19 13:58:10 +01:00
NXDNControl.h Add JSON RSSI and BER to NXDN. 2023-06-11 15:09:58 +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
NXDNLookup.h
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
NetworkInfo.h
Nextion.cpp Move DMR TA to t8 and t9 on the Nextion display. 2023-08-07 20:14:49 +01:00
Nextion.h Clean up the DMR Talker Alias code and logging. 2023-06-06 20:33:25 +01: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
NullDisplay.h
OLED.cpp Fixed issue in `OLED.cpp` where display would not fully clear on idle when LogoScreensaver=0 2023-06-14 06:18:27 -05:00
OLED.h Improve OLED status messages a bit: M17 tweaks from KC1AWV. Tweaks by W0CHP for Idle/Stopping status messages, and a new status for when the host is in Auto-AP mode. 2023-06-09 16:39:35 -05:00
OLED.md
P25Audio.cpp
P25Audio.h
P25Control.cpp Disable JSON RSSI reporting when RSSI is not being used. 2023-06-19 13:58:10 +01:00
P25Control.h Add JSON RSSI and BER to P25. 2023-06-11 14:58:29 +01:00
P25Data.cpp
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 Simplify the POCSAG JSON interface. 2023-01-15 18:42:26 +00:00
POCSAGControl.h Add P25 to JSON/MQTT. 2023-01-17 15:11:40 +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 <pty.h>: linux only 2021-10-24 13:17:47 +09:00
PseudoTTYController.h
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 Filter the log data sent to MQTT based on the MQTTLevel setting. 2022-11-29 18:04:03 +00:00
RemoteCommand.h
RemoteCommand.vcxproj
RemoteCommand.vcxproj.filters
RemoteControl.cpp Page alert commands 2022-11-26 11:04:01 +01:00
RemoteControl.h Page alert commands 2022-11-26 11:04:01 +01:00
RingBuffer.h
SHA256.cpp
SHA256.h
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: initialize improvement 2021-10-30 08:48:15 +09:00
TFTSurenoo.h
Thread.cpp
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
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
UserDBentry.cpp
UserDBentry.h
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 Add crude M17 capability checking for V1 MMDVMs. 2023-07-23 15:00:07 +01:00
YSFControl.cpp Disable JSON RSSI reporting when RSSI is not being used. 2023-06-19 13:58:10 +01:00
YSFControl.h Add JSON RSSI and BER messages to YSF. 2023-06-11 14:39:18 +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
YSFFICH.cpp Refactor the Golay 24,12,8 code and its uses. 2021-04-07 19:56:28 +01:00
YSFFICH.h
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
YSFPayload.h
prebuild.cmd
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. 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.