From 1e2e0c7431823878508523c47569f56f28035634 Mon Sep 17 00:00:00 2001 From: Jonathan Naylor Date: Wed, 27 Aug 2025 17:51:15 +0100 Subject: [PATCH] M17 and AX.25 removal cleanups. --- Conf.cpp | 254 +------------------- Defines.h | 2 - MMDVMHost.cpp | 587 +--------------------------------------------- MMDVMHost.h | 100 -------- Modem.cpp | 421 +-------------------------------- Modem.h | 66 +----- RemoteControl.cpp | 31 --- RemoteControl.h | 15 -- 8 files changed, 10 insertions(+), 1466 deletions(-) diff --git a/Conf.cpp b/Conf.cpp index 758fa7c..da1b3d2 100644 --- a/Conf.cpp +++ b/Conf.cpp @@ -57,18 +57,12 @@ enum class SECTION { #if defined(USE_NXDN) NXDN, #endif -#if defined(USE_M17) - M17, -#endif #if defined(USE_POCSAG) POCSAG, #endif #if defined(USE_FM) FM, #endif -#if defined(USE_AX25) - AX25, -#endif #if defined(USE_DSTAR) DSTAR_NETWORK, #endif @@ -84,17 +78,11 @@ enum class SECTION { #if defined(USE_NXDN) NXDN_NETWORK, #endif -#if defined(USE_M17) - M17_NETWORK, -#endif #if defined(USE_POCSAG) POCSAG_NETWORK, #endif #if defined(USE_FM) FM_NETWORK, -#endif -#if defined(USE_AX25) - AX25_NETWORK, #endif LOCK_FILE, REMOTE_CONTROL @@ -242,14 +230,6 @@ m_nxdnRemoteGateway(false), m_nxdnTXHang(5U), #endif m_nxdnModeHang(10U), -#if defined(USE_M17) -m_m17Enabled(false), -m_m17CAN(0U), -m_m17SelfOnly(false), -m_m17AllowEncryption(false), -m_m17TXHang(5U), -#endif -m_m17ModeHang(10U), #if defined(USE_POCSAG) m_pocsagEnabled(false), #endif @@ -296,16 +276,6 @@ m_fmMaxDevLevel(90.0F), m_fmExtAudioBoost(1U), #endif m_fmModeHang(10U), -#if defined(USE_AX25) -m_ax25Enabled(false), -#endif -m_ax25TXDelay(300U), -#if defined(USE_AX25) -m_ax25RXTwist(6), -m_ax25SlotTime(30U), -m_ax25PPersist(128U), -m_ax25Trace(false), -#endif #if defined(USE_DSTAR) m_dstarNetworkEnabled(false), m_dstarGatewayAddress(), @@ -363,17 +333,6 @@ m_nxdnNetworkModeHang(3U), #if defined(USE_NXDN) m_nxdnNetworkDebug(false), #endif -#if defined(USE_M17) -m_m17NetworkEnabled(false), -m_m17GatewayAddress(), -m_m17GatewayPort(0U), -m_m17LocalAddress(), -m_m17LocalPort(0U), -#endif -m_m17NetworkModeHang(3U), -#if defined(USE_M17) -m_m17NetworkDebug(false), -#endif #if defined(USE_POCSAG) m_pocsagNetworkEnabled(false), m_pocsagGatewayAddress(), @@ -398,10 +357,6 @@ m_fmNetworkModeHang(3U), #if defined(USE_FM) m_fmNetworkDebug(false), #endif -#if defined(USE_AX25) -m_ax25NetworkEnabled(false), -m_ax25NetworkDebug(false), -#endif m_lockFileEnabled(false), m_lockFileName(), m_remoteControlEnabled(false) @@ -470,10 +425,6 @@ bool CConf::read() else if (::strncmp(buffer, "[NXDN]", 6U) == 0) section = SECTION::NXDN; #endif -#if defined(USE_M17) - else if (::strncmp(buffer, "[M17]", 5U) == 0) - section = SECTION::M17; -#endif #if defined(USE_POCSAG) else if (::strncmp(buffer, "[POCSAG]", 8U) == 0) section = SECTION::POCSAG; @@ -482,10 +433,6 @@ bool CConf::read() else if (::strncmp(buffer, "[FM]", 4U) == 0) section = SECTION::FM; #endif -#if defined(USE_AX25) - else if (::strncmp(buffer, "[AX.25]", 7U) == 0) - section = SECTION::AX25; -#endif #if defined(USE_DSTAR) else if (::strncmp(buffer, "[D-Star Network]", 16U) == 0) section = SECTION::DSTAR_NETWORK; @@ -506,10 +453,6 @@ bool CConf::read() else if (::strncmp(buffer, "[NXDN Network]", 14U) == 0) section = SECTION::NXDN_NETWORK; #endif -#if defined(USE_M17) - else if (::strncmp(buffer, "[M17 Network]", 13U) == 0) - section = SECTION::M17_NETWORK; -#endif #if defined(USE_POCSAG) else if (::strncmp(buffer, "[POCSAG Network]", 16U) == 0) section = SECTION::POCSAG_NETWORK; @@ -517,10 +460,6 @@ bool CConf::read() #if defined(USE_FM) else if (::strncmp(buffer, "[FM Network]", 12U) == 0) section = SECTION::FM_NETWORK; -#endif -#if defined(USE_AX25) - else if (::strncmp(buffer, "[AX.25 Network]", 15U) == 0) - section = SECTION::AX25_NETWORK; #endif else if (::strncmp(buffer, "[Lock File]", 11U) == 0) section = SECTION::LOCK_FILE; @@ -575,7 +514,7 @@ bool CConf::read() else if (::strcmp(key, "RFModeHang") == 0) m_dstarModeHang = m_dmrModeHang = m_fusionModeHang = m_p25ModeHang = m_nxdnModeHang = m_fmModeHang = (unsigned int)::atoi(value); else if (::strcmp(key, "NetModeHang") == 0) - m_dstarNetworkModeHang = m_dmrNetworkModeHang = m_fusionNetworkModeHang = m_p25NetworkModeHang = m_nxdnNetworkModeHang = m_m17NetworkModeHang = m_fmNetworkModeHang = (unsigned int)::atoi(value); + m_dstarNetworkModeHang = m_dmrNetworkModeHang = m_fusionNetworkModeHang = m_p25NetworkModeHang = m_nxdnNetworkModeHang = m_fmNetworkModeHang = (unsigned int)::atoi(value); else if (::strcmp(key, "Daemon") == 0) m_daemon = ::atoi(value) == 1; } else if (section == SECTION::INFO) { @@ -668,7 +607,7 @@ bool CConf::read() else if (::strcmp(key, "PTTInvert") == 0) m_modemPTTInvert = ::atoi(value) == 1; else if (::strcmp(key, "TXDelay") == 0) - m_ax25TXDelay = m_modemTXDelay = (unsigned int)::atoi(value); + m_modemTXDelay = (unsigned int)::atoi(value); #if defined(USE_DMR) else if (::strcmp(key, "DMRDelay") == 0) m_modemDMRDelay = (unsigned int)::atoi(value); @@ -709,10 +648,6 @@ bool CConf::read() else if (::strcmp(key, "NXDNTXLevel") == 0) m_modemNXDNTXLevel = float(::atof(value)); #endif -#if defined(USE_M17) - else if (::strcmp(key, "M17TXLevel") == 0) - m_modemM17TXLevel = float(::atof(value)); -#endif #if defined(USE_POCSAG) else if (::strcmp(key, "POCSAGTXLevel") == 0) m_modemPOCSAGTXLevel = float(::atof(value)); @@ -720,10 +655,6 @@ bool CConf::read() #if defined(USE_FM) else if (::strcmp(key, "FMTXLevel") == 0) m_modemFMTXLevel = float(::atof(value)); -#endif -#if defined(USE_AX25) - else if (::strcmp(key, "AX25TXLevel") == 0) - m_modemAX25TXLevel = float(::atof(value)); #endif else if (::strcmp(key, "RSSIMappingFile") == 0) m_modemRSSIMappingFile = value; @@ -934,21 +865,6 @@ bool CConf::read() else if (::strcmp(key, "ModeHang") == 0) m_nxdnModeHang = (unsigned int)::atoi(value); #endif -#if defined(USE_M17) - } else if (section == SECTION::M17) { - if (::strcmp(key, "Enable") == 0) - m_m17Enabled = ::atoi(value) == 1; - else if (::strcmp(key, "CAN") == 0) - m_m17CAN = (unsigned int)::atoi(value); - else if (::strcmp(key, "SelfOnly") == 0) - m_m17SelfOnly = ::atoi(value) == 1; - else if (::strcmp(key, "AllowEncryption") == 0) - m_m17AllowEncryption = ::atoi(value) == 1; - else if (::strcmp(key, "TXHang") == 0) - m_m17TXHang = (unsigned int)::atoi(value); - else if (::strcmp(key, "ModeHang") == 0) - m_m17ModeHang = (unsigned int)::atoi(value); -#endif #if defined(USE_POCSAG) } else if (section == SECTION::POCSAG) { if (::strcmp(key, "Enable") == 0) @@ -1044,21 +960,6 @@ bool CConf::read() else if (::strcmp(key, "ModeHang") == 0) m_fmModeHang = (unsigned int)::atoi(value); #endif -#if defined(USE_AX25) - } else if (section == SECTION::AX25) { - if (::strcmp(key, "Enable") == 0) - m_ax25Enabled = ::atoi(value) == 1; - else if (::strcmp(key, "TXDelay") == 0) - m_ax25TXDelay = (unsigned int)::atoi(value); - else if (::strcmp(key, "RXTwist") == 0) - m_ax25RXTwist = ::atoi(value); - else if (::strcmp(key, "SlotTime") == 0) - m_ax25SlotTime = (unsigned int)::atoi(value); - else if (::strcmp(key, "PPersist") == 0) - m_ax25PPersist = (unsigned int)::atoi(value); - else if (::strcmp(key, "Trace") == 0) - m_ax25Trace = ::atoi(value) == 1; -#endif #if defined(USE_DSTAR) } else if (section == SECTION::DSTAR_NETWORK) { if (::strcmp(key, "Enable") == 0) @@ -1152,23 +1053,6 @@ bool CConf::read() else if (::strcmp(key, "Debug") == 0) m_nxdnNetworkDebug = ::atoi(value) == 1; #endif -#if defined(USE_M17) - } else if (section == SECTION::M17_NETWORK) { - if (::strcmp(key, "Enable") == 0) - m_m17NetworkEnabled = ::atoi(value) == 1; - else if (::strcmp(key, "LocalAddress") == 0) - m_m17LocalAddress = value; - else if (::strcmp(key, "LocalPort") == 0) - m_m17LocalPort = (unsigned short)::atoi(value); - else if (::strcmp(key, "GatewayAddress") == 0) - m_m17GatewayAddress = value; - else if (::strcmp(key, "GatewayPort") == 0) - m_m17GatewayPort = (unsigned short)::atoi(value); - else if (::strcmp(key, "ModeHang") == 0) - m_m17NetworkModeHang = (unsigned int)::atoi(value); - else if (::strcmp(key, "Debug") == 0) - m_m17NetworkDebug = ::atoi(value) == 1; -#endif #if defined(USE_POCSAG) } else if (section == SECTION::POCSAG_NETWORK) { if (::strcmp(key, "Enable") == 0) @@ -1210,13 +1094,6 @@ bool CConf::read() m_fmNetworkModeHang = (unsigned int)::atoi(value); else if (::strcmp(key, "Debug") == 0) m_fmNetworkDebug = ::atoi(value) == 1; -#endif -#if defined(USE_AX25) - } else if (section == SECTION::AX25_NETWORK) { - if (::strcmp(key, "Enable") == 0) - m_ax25NetworkEnabled = ::atoi(value) == 1; - else if (::strcmp(key, "Debug") == 0) - m_ax25NetworkDebug = ::atoi(value) == 1; #endif } else if (section == SECTION::LOCK_FILE) { if (::strcmp(key, "Enable") == 0) @@ -1530,13 +1407,6 @@ float CConf::getModemNXDNTXLevel() const } #endif -#if defined(USE_M17) -float CConf::getModemM17TXLevel() const -{ - return m_modemM17TXLevel; -} -#endif - #if defined(USE_POCSAG) float CConf::getModemPOCSAGTXLevel() const { @@ -1551,13 +1421,6 @@ float CConf::getModemFMTXLevel() const } #endif -#if defined(USE_AX25) -float CConf::getModemAX25TXLevel() const -{ - return m_modemAX25TXLevel; -} -#endif - std::string CConf::getModemRSSIMappingFile () const { return m_modemRSSIMappingFile; @@ -1868,38 +1731,6 @@ unsigned int CConf::getNXDNModeHang() const } #endif -#if defined(USE_M17) -bool CConf::getM17Enabled() const -{ - return m_m17Enabled; -} - -unsigned int CConf::getM17CAN() const -{ - return m_m17CAN; -} - -bool CConf::getM17SelfOnly() const -{ - return m_m17SelfOnly; -} - -bool CConf::getM17AllowEncryption() const -{ - return m_m17AllowEncryption; -} - -unsigned int CConf::getM17TXHang() const -{ - return m_m17TXHang; -} - -unsigned int CConf::getM17ModeHang() const -{ - return m_m17ModeHang; -} -#endif - #if defined(USE_POCSAG) bool CConf::getPOCSAGEnabled() const { @@ -2094,38 +1925,6 @@ unsigned int CConf::getFMModeHang() const } #endif -#if defined(USE_AX25) -bool CConf::getAX25Enabled() const -{ - return m_ax25Enabled; -} - -unsigned int CConf::getAX25TXDelay() const -{ - return m_ax25TXDelay; -} - -int CConf::getAX25RXTwist() const -{ - return m_ax25RXTwist; -} - -unsigned int CConf::getAX25SlotTime() const -{ - return m_ax25SlotTime; -} - -unsigned int CConf::getAX25PPersist() const -{ - return m_ax25PPersist; -} - -bool CConf::getAX25Trace() const -{ - return m_ax25Trace; -} -#endif - #if defined(USE_DSTAR) bool CConf::getDStarNetworkEnabled() const { @@ -2331,43 +2130,6 @@ bool CConf::getNXDNNetworkDebug() const } #endif -#if defined(USE_M17) -bool CConf::getM17NetworkEnabled() const -{ - return m_m17NetworkEnabled; -} - -std::string CConf::getM17GatewayAddress() const -{ - return m_m17GatewayAddress; -} - -unsigned short CConf::getM17GatewayPort() const -{ - return m_m17GatewayPort; -} - -std::string CConf::getM17LocalAddress() const -{ - return m_m17LocalAddress; -} - -unsigned short CConf::getM17LocalPort() const -{ - return m_m17LocalPort; -} - -unsigned int CConf::getM17NetworkModeHang() const -{ - return m_m17NetworkModeHang; -} - -bool CConf::getM17NetworkDebug() const -{ - return m_m17NetworkDebug; -} -#endif - #if defined(USE_POCSAG) bool CConf::getPOCSAGNetworkEnabled() const { @@ -2462,18 +2224,6 @@ bool CConf::getFMNetworkDebug() const } #endif -#if defined(USE_AX25) -bool CConf::getAX25NetworkEnabled() const -{ - return m_ax25NetworkEnabled; -} - -bool CConf::getAX25NetworkDebug() const -{ - return m_ax25NetworkDebug; -} -#endif - bool CConf::getLockFileEnabled() const { return m_lockFileEnabled; diff --git a/Defines.h b/Defines.h index 67ca0ad..4be4a10 100644 --- a/Defines.h +++ b/Defines.h @@ -27,8 +27,6 @@ #define USE_NXDN #define USE_POCSAG #define USE_FM -#define USE_AX25 -#define USE_M17 const unsigned char MODE_IDLE = 0U; const unsigned char MODE_DSTAR = 1U; diff --git a/MMDVMHost.cpp b/MMDVMHost.cpp index 26edfbc..868118a 100644 --- a/MMDVMHost.cpp +++ b/MMDVMHost.cpp @@ -156,18 +156,12 @@ m_p25(nullptr), #if defined(USE_NXDN) m_nxdn(nullptr), #endif -#if defined(USE_M17) -m_m17(nullptr), -#endif #if defined(USE_POCSAG) m_pocsag(nullptr), #endif #if defined(USE_FM) m_fm(nullptr), #endif -#if defined(USE_AX25) -m_ax25(nullptr), -#endif #if defined(USE_DSTAR) m_dstarNetwork(nullptr), #endif @@ -183,18 +177,12 @@ m_p25Network(nullptr), #if defined(USE_NXDN) m_nxdnNetwork(nullptr), #endif -#if defined(USE_M17) -m_m17Network(nullptr), -#endif #if defined(USE_POCSAG) m_pocsagNetwork(nullptr), #endif #if defined(USE_FM) m_fmNetwork(nullptr), #endif -#if defined(USE_AX25) -m_ax25Network(nullptr), -#endif m_mode(MODE_IDLE), #if defined(USE_DSTAR) m_dstarRFModeHang(10U), @@ -211,9 +199,6 @@ m_p25RFModeHang(10U), #if defined(USE_NXDN) m_nxdnRFModeHang(10U), #endif -#if defined(USE_M17) -m_m17RFModeHang(10U), -#endif #if defined(USE_FM) m_fmRFModeHang(10U), #endif @@ -232,9 +217,6 @@ m_p25NetModeHang(3U), #if defined(USE_NXDN) m_nxdnNetModeHang(3U), #endif -#if defined(USE_M17) -m_m17NetModeHang(3U), -#endif #if defined(USE_POCSAG) m_pocsagNetModeHang(3U), #endif @@ -361,11 +343,6 @@ int CMMDVMHost::run() if (m_conf.getRemoteControlEnabled()) subscriptions.push_back(std::make_pair("command", CMMDVMHost::onCommand)); -#if defined(USE_AX25) - if (m_ax25Enabled && !m_modem->hasAX25()) - subscriptions.push_back(std::make_pair("ax25-in", CMMDVMHost::onAX25)); -#endif - m_mqtt = new CMQTTConnection(m_conf.getMQTTHost(), m_conf.getMQTTPort(), m_conf.getMQTTName(), m_conf.getMQTTAuthEnabled(), m_conf.getMQTTUsername(), m_conf.getMQTTPassword(), subscriptions, m_conf.getMQTTKeepalive()); ret = m_mqtt->open(); if (!ret) { @@ -432,13 +409,6 @@ int CMMDVMHost::run() } #endif -#if defined(USE_M17) - if (m_m17Enabled && !m_modem->hasM17()) { - LogWarning("M17 enabled in the host but not in the modem firmware, disabling"); - m_m17Enabled = false; - } -#endif - #if defined(USE_FM) if (m_fmEnabled && !m_modem->hasFM()) { LogWarning("FM enabled in the host but not in the modem firmware, disabling"); @@ -453,13 +423,6 @@ int CMMDVMHost::run() } #endif -#if defined(USE_AX25) - if (m_ax25Enabled && !m_modem->hasAX25()) { - LogWarning("AX.25 enabled in the host but not in the modem firmware, disabling"); - m_ax25Enabled = false; - } -#endif - LogInfo("Opening network connections"); writeJSONMessage("Opening network connections"); @@ -503,14 +466,6 @@ int CMMDVMHost::run() } #endif -#if defined(USE_M17) - if (m_m17Enabled && m_conf.getM17NetworkEnabled()) { - ret = createM17Network(); - if (!ret) - return 1; - } -#endif - #if defined(USE_POCSAG) if (m_pocsagEnabled && m_conf.getPOCSAGNetworkEnabled()) { ret = createPOCSAGNetwork(); @@ -527,14 +482,6 @@ int CMMDVMHost::run() } #endif -#if defined(USE_AX25) - if (m_ax25Enabled && m_conf.getAX25NetworkEnabled()) { - ret = createAX25Network(); - if (!ret) - return 1; - } -#endif - sockaddr_storage transparentAddress; unsigned int transparentAddrLen; CUDPSocket* transparentSocket = nullptr; @@ -834,25 +781,6 @@ int CMMDVMHost::run() } #endif -#if defined(USE_M17) - if (m_m17Enabled) { - bool selfOnly = m_conf.getM17SelfOnly(); - unsigned int can = m_conf.getM17CAN(); - bool allowEncryption = m_conf.getM17AllowEncryption(); - unsigned int txHang = m_conf.getM17TXHang(); - m_m17RFModeHang = m_conf.getM17ModeHang(); - - LogInfo("M17 RF Parameters"); - LogInfo(" Self Only: %s", selfOnly ? "yes" : "no"); - LogInfo(" CAN: %u", can); - LogInfo(" Allow Encryption: %s", allowEncryption ? "yes" : "no"); - LogInfo(" TX Hang: %us", txHang); - LogInfo(" Mode Hang: %us", m_m17RFModeHang); - - m_m17 = new CM17Control(m_callsign, can, selfOnly, allowEncryption, m_m17Network, m_timeout, m_duplex, rssi); - } -#endif - #if defined(USE_POCSAG) CTimer pocsagTimer(1000U, 30U); @@ -869,25 +797,6 @@ int CMMDVMHost::run() } #endif -#if defined(USE_AX25) - if (m_ax25Enabled) { - unsigned int txDelay = m_conf.getAX25TXDelay(); - int rxTwist = m_conf.getAX25RXTwist(); - unsigned int slotTime = m_conf.getAX25SlotTime(); - unsigned int pPersist = m_conf.getAX25PPersist(); - bool trace = m_conf.getAX25Trace(); - - LogInfo("AX.25 RF Parameters"); - LogInfo(" TX Delay: %ums", txDelay); - LogInfo(" RX Twist: %d", rxTwist); - LogInfo(" Slot Time: %ums", slotTime); - LogInfo(" P-Persist: %u", pPersist); - LogInfo(" Trace: %s", trace ? "yes" : "no"); - - m_ax25 = new CAX25Control(m_ax25Network, trace, rssi); - } -#endif - #if defined(USE_FM) if (m_fmEnabled) { bool preEmphasis = m_conf.getFMPreEmphasis(); @@ -1076,25 +985,6 @@ int CMMDVMHost::run() } #endif -#if defined(USE_M17) - len = m_modem->readM17Data(data); - if (m_m17 != nullptr && len > 0U) { - if (m_mode == MODE_IDLE) { - bool ret = m_m17->writeModem(data, len); - if (ret) { - m_modeTimer.setTimeout(m_m17RFModeHang); - setMode(MODE_M17); - } - } else if (m_mode == MODE_M17) { - bool ret = m_m17->writeModem(data, len); - if (ret) - m_modeTimer.start(); - } else if (m_mode != MODE_LOCKOUT) { - LogWarning("M17 modem data received when in mode %u", m_mode); - } - } -#endif - #if defined(USE_FM) len = m_modem->readFMData(data); if (m_fm != nullptr && m_fmEnabled && len > 0U) { @@ -1114,17 +1004,6 @@ int CMMDVMHost::run() } #endif -#if defined(USE_AX25) - len = m_modem->readAX25Data(data); - if (m_ax25 != nullptr && len > 0U) { - if (m_mode == MODE_IDLE || m_mode == MODE_FM) { - m_ax25->writeModem(data, len); - } else if (m_mode != MODE_LOCKOUT) { - LogWarning("AX.25 modem data received when in mode %u", m_mode); - } - } -#endif - len = m_modem->readTransparentData(data); if (transparentSocket != nullptr && len > 0U) transparentSocket->write(data, len, transparentAddress, transparentAddrLen); @@ -1266,27 +1145,6 @@ int CMMDVMHost::run() } #endif -#if defined(USE_M17) - if (m_m17 != nullptr) { - ret = m_modem->hasM17Space(); - if (ret) { - len = m_m17->readModem(data); - if (len > 0U) { - if (m_mode == MODE_IDLE) { - m_modeTimer.setTimeout(m_m17NetModeHang); - setMode(MODE_M17); - } - if (m_mode == MODE_M17) { - m_modem->writeM17Data(data, len); - m_modeTimer.start(); - } else if (m_mode != MODE_LOCKOUT) { - LogWarning("M17 data received when in mode %u", m_mode); - } - } - } - } -#endif - #if defined(USE_POCSAG) if (m_pocsag != nullptr) { ret = m_modem->hasPOCSAGSpace(); @@ -1329,23 +1187,6 @@ int CMMDVMHost::run() } #endif -#if defined(USE_AX25) - if (m_ax25 != nullptr) { - ret = m_modem->hasAX25Space(); - if (ret) { - len = m_ax25->readModem(data); - if (len > 0U) { - if (m_mode == MODE_IDLE || m_mode == MODE_FM) { - m_modem->writeAX25Data(data, len); - } - else if (m_mode != MODE_LOCKOUT) { - LogWarning("AX.25 data received when in mode %u", m_mode); - } - } - } - } -#endif - if (transparentSocket != nullptr) { sockaddr_storage address; unsigned int addrlen; @@ -1416,10 +1257,6 @@ int CMMDVMHost::run() if (m_nxdn != nullptr) m_nxdn->clock(ms); #endif -#if defined(USE_M17) - if (m_m17 != nullptr) - m_m17->clock(ms); -#endif #if defined(USE_POCSAG) if (m_pocsag != nullptr) m_pocsag->clock(ms); @@ -1449,10 +1286,6 @@ int CMMDVMHost::run() if (m_nxdnNetwork != nullptr) m_nxdnNetwork->clock(ms); #endif -#if defined(USE_M17) - if (m_m17Network != nullptr) - m_m17Network->clock(ms); -#endif #if defined(USE_POCSAG) if (m_pocsagNetwork != nullptr) m_pocsagNetwork->clock(ms); @@ -1585,13 +1418,6 @@ int CMMDVMHost::run() } #endif -#if defined(USE_M17) - if (m_m17Network != nullptr) { - m_m17Network->close(); - delete m_m17Network; - } -#endif - #if defined(USE_POCSAG) if (m_pocsagNetwork != nullptr) { m_pocsagNetwork->close(); @@ -1606,13 +1432,6 @@ int CMMDVMHost::run() } #endif -#if defined(USE_AX25) - if (m_ax25Network != nullptr) { - m_ax25Network->close(); - delete m_ax25Network; - } -#endif - if (transparentSocket != nullptr) { transparentSocket->close(); delete transparentSocket; @@ -1638,18 +1457,12 @@ int CMMDVMHost::run() #if defined(USE_NXDN) delete m_nxdn; #endif -#if defined(USE_M17) - delete m_m17; -#endif #if defined(USE_POCSAG) delete m_pocsag; #endif #if defined(USE_FM) delete m_fm; #endif -#if defined(USE_AX25) - delete m_ax25; -#endif LogInfo("MMDVMHost-%s has stopped", VERSION); writeJSONMessage("MMDVMHost has stopped"); @@ -1714,11 +1527,6 @@ bool CMMDVMHost::createModem() #else float nxdnTXLevel = 0.0F; #endif -#if defined(USE_M17) - float m17TXLevel = m_conf.getModemM17TXLevel(); -#else - float m17TXLevel = 0.0F; -#endif #if defined(USE_POCSAG) float pocsagTXLevel = m_conf.getModemPOCSAGTXLevel(); #else @@ -1728,11 +1536,6 @@ bool CMMDVMHost::createModem() float fmTXLevel = m_conf.getModemFMTXLevel(); #else float fmTXLevel = 0.0F; -#endif -#if defined(USE_AX25) - float ax25TXLevel = m_conf.getModemAX25TXLevel(); -#else - float ax25TXLevel = 0.0F; #endif bool trace = m_conf.getModemTrace(); bool debug = m_conf.getModemDebug(); @@ -1748,9 +1551,6 @@ bool CMMDVMHost::createModem() #endif #if defined(USE_NXDN) unsigned int nxdnTXHang = m_conf.getNXDNTXHang(); -#endif -#if defined(USE_M17) - unsigned int m17TXHang = m_conf.getM17TXHang(); #endif unsigned int rxFrequency = m_conf.getRXFrequency(); unsigned int txFrequency = m_conf.getTXFrequency(); @@ -1764,12 +1564,6 @@ bool CMMDVMHost::createModem() int rxDCOffset = m_conf.getModemRXDCOffset(); int txDCOffset = m_conf.getModemTXDCOffset(); float rfLevel = m_conf.getModemRFLevel(); -#if defined(USE_AX25) - int rxTwist = m_conf.getAX25RXTwist(); - unsigned int ax25TXDelay = m_conf.getAX25TXDelay(); - unsigned int ax25SlotTime = m_conf.getAX25SlotTime(); - unsigned int ax25PPersist = m_conf.getAX25PPersist(); -#endif bool useCOSAsLockout = m_conf.getModemUseCOSAsLockout(); LogInfo("Modem Parameters"); @@ -1820,17 +1614,11 @@ bool CMMDVMHost::createModem() #if defined(USE_NXDN) LogInfo(" NXDN TX Level: %.1f%%", nxdnTXLevel); #endif -#if defined(USE_M17) - LogInfo(" M17 TX Level: %.1f%%", m17TXLevel); -#endif #if defined(USE_POCSAG) LogInfo(" POCSAG TX Level: %.1f%%", pocsagTXLevel); #endif #if defined(USE_FM) LogInfo(" FM TX Level: %.1f%%", fmTXLevel); -#endif -#if defined(USE_AX25) - LogInfo(" AX.25 TX Level: %.1f%%", ax25TXLevel); #endif LogInfo(" TX Frequency: %uHz (%uHz)", txFrequency, txFrequency + txOffset); LogInfo(" Use COS as Lockout: %s", useCOSAsLockout ? "yes" : "no"); @@ -1867,12 +1655,6 @@ bool CMMDVMHost::createModem() #if defined(USE_NXDN) m_modem->setNXDNParams(nxdnTXHang); #endif -#if defined(USE_M17) - m_modem->setM17Params(m17TXHang); -#endif -#if defined(USE_AX25) - m_modem->setAX25Params(rxTwist, ax25TXDelay, ax25SlotTime, ax25PPersist); -#endif #if defined(USE_FM) if (m_fmEnabled) { @@ -2160,37 +1942,6 @@ bool CMMDVMHost::createNXDNNetwork() } #endif -#if defined(USE_M17) -bool CMMDVMHost::createM17Network() -{ - std::string gatewayAddress = m_conf.getM17GatewayAddress(); - unsigned short gatewayPort = m_conf.getM17GatewayPort(); - std::string localAddress = m_conf.getM17LocalAddress(); - unsigned short localPort = m_conf.getM17LocalPort(); - m_m17NetModeHang = m_conf.getM17NetworkModeHang(); - bool debug = m_conf.getM17NetworkDebug(); - - LogInfo("M17 Network Parameters"); - LogInfo(" Gateway Address: %s", gatewayAddress.c_str()); - LogInfo(" Gateway Port: %hu", gatewayPort); - LogInfo(" Local Address: %s", localAddress.c_str()); - LogInfo(" Local Port: %hu", localPort); - LogInfo(" Mode Hang: %us", m_m17NetModeHang); - - m_m17Network = new CM17Network(localAddress, localPort, gatewayAddress, gatewayPort, debug); - bool ret = m_m17Network->open(); - if (!ret) { - delete m_m17Network; - m_m17Network = nullptr; - return false; - } - - m_m17Network->enable(true); - - return true; -} -#endif - #if defined(USE_POCSAG) bool CMMDVMHost::createPOCSAGNetwork() { @@ -2264,28 +2015,6 @@ bool CMMDVMHost::createFMNetwork() } #endif -#if defined(USE_AX25) -bool CMMDVMHost::createAX25Network() -{ - bool debug = m_conf.getAX25NetworkDebug(); - - LogInfo("AX.25 Network Parameters"); - - m_ax25Network = new CAX25Network(debug); - - bool ret = m_ax25Network->open(); - if (!ret) { - delete m_ax25Network; - m_ax25Network = nullptr; - return false; - } - - m_ax25Network->enable(true); - - return true; -} -#endif - void CMMDVMHost::readParams() { #if defined(USE_DSTAR) @@ -2303,17 +2032,11 @@ void CMMDVMHost::readParams() #if defined(USE_NXDN) m_nxdnEnabled = m_conf.getNXDNEnabled(); #endif -#if defined(USE_M17) - m_m17Enabled = m_conf.getM17Enabled(); -#endif #if defined(USE_POCSAG) m_pocsagEnabled = m_conf.getPOCSAGEnabled(); #endif #if defined(USE_FM) m_fmEnabled = m_conf.getFMEnabled(); -#endif -#if defined(USE_AX25) - m_ax25Enabled = m_conf.getAX25Enabled(); #endif m_duplex = m_conf.getDuplex(); m_callsign = m_conf.getCallsign(); @@ -2342,18 +2065,12 @@ void CMMDVMHost::readParams() #if defined(USE_NXDN) LogInfo(" NXDN: %s", m_nxdnEnabled ? "enabled" : "disabled"); #endif -#if defined(USE_M17) - LogInfo(" M17: %s", m_m17Enabled ? "enabled" : "disabled"); -#endif #if defined(USE_POCSAG) LogInfo(" POCSAG: %s", m_pocsagEnabled ? "enabled" : "disabled"); #endif #if defined(USE_FM) LogInfo(" FM: %s", m_fmEnabled ? "enabled" : "disabled"); #endif -#if defined(USE_AX25) - LogInfo(" AX.25: %s", m_ax25Enabled ? "enabled" : "disabled"); -#endif } void CMMDVMHost::setMode(unsigned char mode) @@ -2381,10 +2098,6 @@ void CMMDVMHost::setMode(unsigned char mode) if (m_nxdnNetwork != nullptr) m_nxdnNetwork->enable(false); #endif -#if defined(USE_M17) - if (m_m17Network != nullptr) - m_m17Network->enable(false); -#endif #if defined(USE_POCSAG) if (m_pocsagNetwork != nullptr) m_pocsagNetwork->enable(false); @@ -2392,10 +2105,6 @@ void CMMDVMHost::setMode(unsigned char mode) #if defined(USE_FM) if (m_fmNetwork != nullptr) m_fmNetwork->enable(false); -#endif -#if defined(USE_AX25) - if (m_ax25Network != nullptr) - m_ax25Network->enable(false); #endif if (m_dstar != nullptr && m_dstarEnabled) m_dstar->enable(true); @@ -2415,10 +2124,6 @@ void CMMDVMHost::setMode(unsigned char mode) if (m_nxdn != nullptr) m_nxdn->enable(false); #endif -#if defined(USE_M17) - if (m_m17 != nullptr) - m_m17->enable(false); -#endif #if defined(USE_POCSAG) if (m_pocsag != nullptr) m_pocsag->enable(false); @@ -2426,10 +2131,6 @@ void CMMDVMHost::setMode(unsigned char mode) #if defined(USE_FM) if (m_fm != nullptr) m_fm->enable(false); -#endif -#if defined(USE_AX25) - if (m_ax25 != nullptr) - m_ax25->enable(false); #endif if (m_dstarEnabled) { m_modem->setMode(MODE_DSTAR); @@ -2461,10 +2162,6 @@ void CMMDVMHost::setMode(unsigned char mode) if (m_nxdnNetwork != nullptr) m_nxdnNetwork->enable(false); #endif -#if defined(USE_M17) - if (m_m17Network != nullptr) - m_m17Network->enable(false); -#endif #if defined(USE_POCSAG) if (m_pocsagNetwork != nullptr) m_pocsagNetwork->enable(false); @@ -2473,10 +2170,6 @@ void CMMDVMHost::setMode(unsigned char mode) if (m_fmNetwork != nullptr) m_fmNetwork->enable(false); #endif -#if defined(USE_AX25) - if (m_ax25Network != nullptr) - m_ax25Network->enable(false); -#endif #if defined(USE_DSTAR) if (m_dstar != nullptr) m_dstar->enable(false); @@ -2495,10 +2188,6 @@ void CMMDVMHost::setMode(unsigned char mode) if (m_nxdn != nullptr) m_nxdn->enable(false); #endif -#if defined(USE_M17) - if (m_m17 != nullptr) - m_m17->enable(false); -#endif #if defined(USE_POCSAG) if (m_pocsag != nullptr) m_pocsag->enable(false); @@ -2506,10 +2195,6 @@ void CMMDVMHost::setMode(unsigned char mode) #if defined(USE_FM) if (m_fm != nullptr) m_fm->enable(false); -#endif -#if defined(USE_AX25) - if (m_ax25 != nullptr) - m_ax25->enable(false); #endif if (m_dmrEnabled) { m_modem->setMode(MODE_DMR); @@ -2545,10 +2230,6 @@ void CMMDVMHost::setMode(unsigned char mode) if (m_nxdnNetwork != nullptr) m_nxdnNetwork->enable(false); #endif -#if defined(USE_M17) - if (m_m17Network != nullptr) - m_m17Network->enable(false); -#endif #if defined(USE_POCSAG) if (m_pocsagNetwork != nullptr) m_pocsagNetwork->enable(false); @@ -2557,10 +2238,6 @@ void CMMDVMHost::setMode(unsigned char mode) if (m_fmNetwork != nullptr) m_fmNetwork->enable(false); #endif -#if defined(USE_AX25) - if (m_ax25Network != nullptr) - m_ax25Network->enable(false); -#endif #if defined(USE_DSTAR) if (m_dstar != nullptr) m_dstar->enable(false); @@ -2579,10 +2256,6 @@ void CMMDVMHost::setMode(unsigned char mode) if (m_nxdn != nullptr) m_nxdn->enable(false); #endif -#if defined(USE_M17) - if (m_m17 != nullptr) - m_m17->enable(false); -#endif #if defined(USE_POCSAG) if (m_pocsag != nullptr) m_pocsag->enable(false); @@ -2590,10 +2263,6 @@ void CMMDVMHost::setMode(unsigned char mode) #if defined(USE_FM) if (m_fm != nullptr) m_fm->enable(false); -#endif -#if defined(USE_AX25) - if (m_ax25 != nullptr) - m_ax25->enable(false); #endif if (m_ysfEnabled) { m_modem->setMode(MODE_YSF); @@ -2625,10 +2294,6 @@ void CMMDVMHost::setMode(unsigned char mode) if (m_nxdnNetwork != nullptr) m_nxdnNetwork->enable(false); #endif -#if defined(USE_M17) - if (m_m17Network != nullptr) - m_m17Network->enable(false); -#endif #if defined(USE_POCSAG) if (m_pocsagNetwork != nullptr) m_pocsagNetwork->enable(false); @@ -2637,10 +2302,6 @@ void CMMDVMHost::setMode(unsigned char mode) if (m_fmNetwork != nullptr) m_fmNetwork->enable(false); #endif -#if defined(USE_AX25) - if (m_ax25Network != nullptr) - m_ax25Network->enable(false); -#endif #if defined(USE_DSTAR) if (m_dstar != nullptr) m_dstar->enable(false); @@ -2659,10 +2320,6 @@ void CMMDVMHost::setMode(unsigned char mode) if (m_nxdn != nullptr) m_nxdn->enable(false); #endif -#if defined(USE_M17) - if (m_m17 != nullptr) - m_m17->enable(false); -#endif #if defined(USE_POCSAG) if (m_pocsag != nullptr) m_pocsag->enable(false); @@ -2670,10 +2327,6 @@ void CMMDVMHost::setMode(unsigned char mode) #if defined(USE_FM) if (m_fm != nullptr) m_fm->enable(false); -#endif -#if defined(USE_AX25) - if (m_ax25 != nullptr) - m_ax25->enable(false); #endif if (m_p25Enabled) { m_modem->setMode(MODE_P25); @@ -2705,10 +2358,6 @@ void CMMDVMHost::setMode(unsigned char mode) #endif if (m_nxdnNetwork != nullptr && m_nxdnEnabled) m_nxdnNetwork->enable(true); -#if defined(USE_M17) - if (m_m17Network != nullptr) - m_m17Network->enable(false); -#endif #if defined(USE_POCSAG) if (m_pocsagNetwork != nullptr) m_pocsagNetwork->enable(false); @@ -2717,10 +2366,6 @@ void CMMDVMHost::setMode(unsigned char mode) if (m_fmNetwork != nullptr) m_fmNetwork->enable(false); #endif -#if defined(USE_AX25) - if (m_ax25Network != nullptr) - m_ax25Network->enable(false); -#endif #if defined(USE_DSTAR) if (m_dstar != nullptr) m_dstar->enable(false); @@ -2739,10 +2384,6 @@ void CMMDVMHost::setMode(unsigned char mode) #endif if (m_nxdn != nullptr && m_nxdnEnabled) m_nxdn->enable(true); -#if defined(USE_M17) - if (m_m17 != nullptr) - m_m17->enable(false); -#endif #if defined(USE_POCSAG) if (m_pocsag != nullptr) m_pocsag->enable(false); @@ -2750,10 +2391,6 @@ void CMMDVMHost::setMode(unsigned char mode) #if defined(USE_FM) if (m_fm != nullptr) m_fm->enable(false); -#endif -#if defined(USE_AX25) - if (m_ax25 != nullptr) - m_ax25->enable(false); #endif if (m_nxdnEnabled) { m_modem->setMode(MODE_NXDN); @@ -2765,86 +2402,6 @@ void CMMDVMHost::setMode(unsigned char mode) } break; #endif -#if defined(USE_M17) - case MODE_M17: -#if defined(USE_DSTAR) - if (m_dstarNetwork != nullptr) - m_dstarNetwork->enable(false); -#endif -#if defined(USE_DMR) - if (m_dmrNetwork != nullptr) - m_dmrNetwork->enable(false); -#endif -#if defined(USE_YSF) - if (m_ysfNetwork != nullptr) - m_ysfNetwork->enable(false); -#endif -#if defined(USE_P25) - if (m_p25Network != nullptr) - m_p25Network->enable(false); -#endif -#if defined(USE_NXDN) - if (m_nxdnNetwork != nullptr) - m_nxdnNetwork->enable(false); -#endif - if (m_m17Network != nullptr && m_m17Enabled) - m_m17Network->enable(true); -#if defined(USE_POCSAG) - if (m_pocsagNetwork != nullptr) - m_pocsagNetwork->enable(false); -#endif -#if defined(USE_FM) - if (m_fmNetwork != nullptr) - m_fmNetwork->enable(false); -#endif -#if defined(USE_AX25) - if (m_ax25Network != nullptr) - m_ax25Network->enable(false); -#endif -#if defined(USE_DSTAR) - if (m_dstar != nullptr) - m_dstar->enable(false); -#endif -#if defined(USE_DMR) - if (m_dmr != nullptr) - m_dmr->enable(false); -#endif -#if defined(USE_YSF) - if (m_ysf != nullptr) - m_ysf->enable(false); -#endif -#if defined(USE_P25) - if (m_p25 != nullptr) - m_p25->enable(false); -#endif -#if defined(USE_NXDN) - if (m_nxdn != nullptr) - m_nxdn->enable(false); -#endif - if (m_m17 != nullptr && m_m17Enabled) - m_m17->enable(true); -#if defined(USE_POCSAG) - if (m_pocsag != nullptr) - m_pocsag->enable(false); -#endif -#if defined(USE_FM) - if (m_fm != nullptr) - m_fm->enable(false); -#endif -#if defined(USE_AX25) - if (m_ax25 != nullptr) - m_ax25->enable(false); -#endif - if (m_m17Enabled) { - m_modem->setMode(MODE_M17); - m_mode = MODE_M17; - m_modeTimer.start(); - m_cwIdTimer.stop(); - createLockFile("M17"); - writeJSONMode("M17"); - } - break; -#endif #if defined(USE_POCSAG) case MODE_POCSAG: #if defined(USE_DSTAR) @@ -2866,10 +2423,6 @@ void CMMDVMHost::setMode(unsigned char mode) #if defined(USE_NXDN) if (m_nxdnNetwork != nullptr) m_nxdnNetwork->enable(false); -#endif -#if defined(USE_M17) - if (m_m17Network != nullptr) - m_m17Network->enable(false); #endif if (m_pocsagNetwork != nullptr) m_pocsagNetwork->enable(true); @@ -2877,10 +2430,6 @@ void CMMDVMHost::setMode(unsigned char mode) if (m_fmNetwork != nullptr) m_fmNetwork->enable(false); #endif -#if defined(USE_AX25) - if (m_ax25Network != nullptr) - m_ax25Network->enable(false); -#endif #if defined(USE_DSTAR) if (m_dstar != nullptr) m_dstar->enable(false); @@ -2900,20 +2449,12 @@ void CMMDVMHost::setMode(unsigned char mode) #if defined(USE_NXDN) if (m_nxdn != nullptr) m_nxdn->enable(false); -#endif -#if defined(USE_M17) - if (m_m17 != nullptr) - m_m17->enable(false); #endif if (m_pocsag != nullptr) m_pocsag->enable(true); #if defined(USE_FM) if (m_fm != nullptr) m_fm->enable(false); -#endif -#if defined(USE_AX25) - if (m_ax25 != nullptr) - m_ax25->enable(false); #endif m_modem->setMode(MODE_POCSAG); m_mode = MODE_POCSAG; @@ -2945,20 +2486,12 @@ void CMMDVMHost::setMode(unsigned char mode) if (m_nxdnNetwork != nullptr) m_nxdnNetwork->enable(false); #endif -#if defined(USE_M17) - if (m_m17Network != nullptr) - m_m17Network->enable(false); -#endif #if defined(USE_POCSAG) if (m_pocsagNetwork != nullptr) m_pocsagNetwork->enable(false); #endif if (m_fmNetwork != nullptr && m_fmEnabled) m_fmNetwork->enable(true); -#if defined(USE_AX25) - if (m_ax25Network != nullptr && m_fmEnabled) - m_ax25Network->enable(true); -#endif #if defined(USE_DSTAR) if (m_dstar != nullptr) m_dstar->enable(false); @@ -2979,20 +2512,12 @@ void CMMDVMHost::setMode(unsigned char mode) if (m_nxdn != nullptr) m_nxdn->enable(false); #endif -#if defined(USE_M17) - if (m_m17 != nullptr) - m_m17->enable(false); -#endif #if defined(USE_POCSAG) if (m_pocsag != nullptr) m_pocsag->enable(false); if (m_fm != nullptr && m_fmEnabled) m_fm->enable(true); #endif -#if defined(USE_AX25) - if (m_ax25 != nullptr && m_ax25Enabled) - m_ax25->enable(true); -#endif #if defined(USE_DMR) if (m_mode == MODE_DMR && m_duplex && m_modem->hasTX()) { m_modem->writeDMRStart(false); @@ -3031,10 +2556,6 @@ void CMMDVMHost::setMode(unsigned char mode) if (m_nxdnNetwork != nullptr) m_nxdnNetwork->enable(false); #endif -#if defined(USE_M17) - if (m_m17Network != nullptr) - m_m17Network->enable(false); -#endif #if defined(USE_POCSAG) if (m_pocsagNetwork != nullptr) m_pocsagNetwork->enable(false); @@ -3043,10 +2564,6 @@ void CMMDVMHost::setMode(unsigned char mode) if (m_fmNetwork != nullptr) m_fmNetwork->enable(false); #endif -#if defined(USE_AX25) - if (m_ax25Network != nullptr) - m_ax25Network->enable(false); -#endif #if defined(USE_DSTAR) if (m_dstar != nullptr) m_dstar->enable(false); @@ -3067,10 +2584,6 @@ void CMMDVMHost::setMode(unsigned char mode) if (m_nxdn != nullptr) m_nxdn->enable(false); #endif -#if defined(USE_M17) - if (m_m17 != nullptr) - m_m17->enable(false); -#endif #if defined(USE_POCSAG) if (m_pocsag != nullptr) m_pocsag->enable(false); @@ -3079,10 +2592,6 @@ void CMMDVMHost::setMode(unsigned char mode) if (m_fm != nullptr) m_fm->enable(false); #endif -#if defined(USE_AX25) - if (m_ax25 != nullptr) - m_ax25->enable(false); -#endif #if defined(USE_DMR) if (m_mode == MODE_DMR && m_duplex && m_modem->hasTX()) { m_modem->writeDMRStart(false); @@ -3119,10 +2628,6 @@ void CMMDVMHost::setMode(unsigned char mode) if (m_nxdnNetwork != nullptr) m_nxdnNetwork->enable(false); #endif -#if defined(USE_M17) - if (m_m17Network != nullptr) - m_m17Network->enable(false); -#endif #if defined(USE_POCSAG) if (m_pocsagNetwork != nullptr) m_pocsagNetwork->enable(false); @@ -3131,10 +2636,6 @@ void CMMDVMHost::setMode(unsigned char mode) if (m_fmNetwork != nullptr) m_fmNetwork->enable(false); #endif -#if defined(USE_AX25) - if (m_ax25Network != nullptr) - m_ax25Network->enable(false); -#endif #if defined(USE_DSTAR) if (m_dstar != nullptr) m_dstar->enable(false); @@ -3155,10 +2656,6 @@ void CMMDVMHost::setMode(unsigned char mode) if (m_nxdn != nullptr) m_nxdn->enable(false); #endif -#if defined(USE_M17) - if (m_m17 != nullptr) - m_m17->enable(false); -#endif #if defined(USE_POCSAG) if (m_pocsag != nullptr) m_pocsag->enable(false); @@ -3167,10 +2664,6 @@ void CMMDVMHost::setMode(unsigned char mode) if (m_fm != nullptr) m_fm->enable(false); #endif -#if defined(USE_AX25) - if (m_ax25 != nullptr) - m_ax25->enable(false); -#endif #if defined(USE_DMR) if (m_mode == MODE_DMR && m_duplex && m_modem->hasTX()) { m_modem->writeDMRStart(false); @@ -3205,10 +2698,6 @@ void CMMDVMHost::setMode(unsigned char mode) if (m_nxdnNetwork != nullptr && m_nxdnEnabled) m_nxdnNetwork->enable(true); #endif -#if defined(USE_M17) - if (m_m17Network != nullptr && m_m17Enabled) - m_m17Network->enable(true); -#endif #if defined(USE_POCSAG) if (m_pocsagNetwork != nullptr) m_pocsagNetwork->enable(true); @@ -3217,10 +2706,6 @@ void CMMDVMHost::setMode(unsigned char mode) if (m_fmNetwork != nullptr && m_fmEnabled) m_fmNetwork->enable(true); #endif -#if defined(USE_AX25) - if (m_ax25Network != nullptr && m_fmEnabled) - m_ax25Network->enable(true); -#endif #if defined(USE_DSTAR) if (m_dstar != nullptr && m_dstarEnabled) m_dstar->enable(true); @@ -3241,10 +2726,6 @@ void CMMDVMHost::setMode(unsigned char mode) if (m_nxdn != nullptr && m_nxdnEnabled) m_nxdn->enable(true); #endif -#if defined(USE_M17) - if (m_m17 != nullptr && m_m17Enabled) - m_m17->enable(true); -#endif #if defined(USE_POCSAG) if (m_pocsag != nullptr) m_pocsag->enable(true); @@ -3253,10 +2734,6 @@ void CMMDVMHost::setMode(unsigned char mode) if (m_fm != nullptr && m_fmEnabled) m_fm->enable(true); #endif -#if defined(USE_AX25) - if (m_ax25 != nullptr && m_fmEnabled) - m_ax25->enable(true); -#endif #if defined(USE_DMR) if (m_mode == MODE_DMR && m_duplex && m_modem->hasTX() && m_dmrEnabled) { m_modem->writeDMRStart(false); @@ -3342,12 +2819,6 @@ void CMMDVMHost::remoteControl(const std::string& commandString) processModeCommand(MODE_NXDN, m_nxdnRFModeHang); break; #endif -#if defined(USE_M17) - case REMOTE_COMMAND::MODE_M17: - if (m_m17 != nullptr) - processModeCommand(MODE_M17, m_m17RFModeHang); - break; -#endif #if defined(USE_FM) case REMOTE_COMMAND::MODE_FM: if (m_fmEnabled) @@ -3394,26 +2865,12 @@ void CMMDVMHost::remoteControl(const std::string& commandString) m_nxdnNetwork->enable(true); break; #endif -#if defined(USE_M17) - case REMOTE_COMMAND::ENABLE_M17: - if (m_m17 != nullptr && !m_m17Enabled) - processEnableCommand(m_m17Enabled, true); - if (m_m17Network != nullptr) - m_m17Network->enable(true); - break; -#endif #if defined(USE_FM) case REMOTE_COMMAND::ENABLE_FM: if (!m_fmEnabled) processEnableCommand(m_fmEnabled, true); break; #endif -#if defined(USE_AX25) - case REMOTE_COMMAND::ENABLE_AX25: - if (!m_ax25Enabled) - processEnableCommand(m_ax25Enabled, true); - break; -#endif #if defined(USE_DSTAR) case REMOTE_COMMAND::DISABLE_DSTAR: if (m_dstar != nullptr && m_dstarEnabled) @@ -3454,26 +2911,12 @@ void CMMDVMHost::remoteControl(const std::string& commandString) m_nxdnNetwork->enable(false); break; #endif -#if defined(USE_M17) - case REMOTE_COMMAND::DISABLE_M17: - if (m_m17 != nullptr && m_m17Enabled) - processEnableCommand(m_m17Enabled, false); - if (m_m17Network != nullptr) - m_m17Network->enable(false); - break; -#endif #if defined(USE_FM) case REMOTE_COMMAND::DISABLE_FM: if (m_fmEnabled) processEnableCommand(m_fmEnabled, false); break; #endif -#if defined(USE_AX25) - case REMOTE_COMMAND::DISABLE_AX25: - if (m_ax25Enabled) - processEnableCommand(m_ax25Enabled, false); - break; -#endif #if defined(USE_POCSAG) case REMOTE_COMMAND::PAGE: if (m_pocsag != nullptr) { @@ -3563,7 +3006,7 @@ void CMMDVMHost::processEnableCommand(bool& mode, bool enabled) mode = enabled; - m_modem->setModeParams(m_dstarEnabled, m_dmrEnabled, m_ysfEnabled, m_p25Enabled, m_nxdnEnabled, m_m17Enabled, m_pocsagEnabled, m_fmEnabled, m_ax25Enabled); + m_modem->setModeParams(m_dstarEnabled, m_dmrEnabled, m_ysfEnabled, m_p25Enabled, m_nxdnEnabled, m_pocsagEnabled, m_fmEnabled); if (!m_modem->writeConfig()) LogError("Cannot write Config to MMDVM"); } @@ -3587,9 +3030,6 @@ void CMMDVMHost::buildNetworkStatusString(std::string &str) #if defined(USE_NXDN) str += std::string(" nxdn:") + (((m_nxdnNetwork == nullptr) || !m_nxdnEnabled) ? "n/a" : (m_nxdnNetwork->isConnected() ? "conn" : "disc")); #endif -#if defined(USE_M17) - str += std::string(" m17:") + (((m_m17Network == nullptr) || !m_m17Enabled) ? "n/a" : (m_m17Network->isConnected() ? "conn" : "disc")); -#endif #if defined(USE_FM) str += std::string(" fm:") + (m_fmEnabled ? "conn" : "n/a"); #endif @@ -3636,9 +3076,6 @@ void CMMDVMHost::buildNetworkHostsString(std::string &str) #if defined(USE_NXDN) str += std::string(" nxdn:\"") + ((m_nxdnEnabled && (m_nxdnNetwork != nullptr)) ? m_conf.getNXDNGatewayAddress() : "NONE") + "\""; #endif -#if defined(USE_M17) - str += std::string(" m17:\"") + ((m_m17Enabled && (m_m17Network != nullptr)) ? m_conf.getM17GatewayAddress() : "NONE") + "\""; -#endif #if defined(USE_FM) str += std::string(" fm:\"") + ((m_fmEnabled && (m_fmNetwork != nullptr)) ? m_conf.getFMGatewayAddress() : "NONE") + "\""; #endif @@ -3683,17 +3120,6 @@ void CMMDVMHost::writeSerial(const unsigned char* message, unsigned int length) } } -#if defined(USE_AX25) -void CMMDVMHost::writeAX25(const unsigned char* message, unsigned int length) -{ - assert(host != nullptr); - assert(message != nullptr); - assert(m_ax25Network != nullptr); - - m_ax25Network->setData(message, length); -} -#endif - void CMMDVMHost::onCommand(const unsigned char* command, unsigned int length) { assert(host != nullptr); @@ -3709,14 +3135,3 @@ void CMMDVMHost::onDisplay(const unsigned char* message, unsigned int length) host->writeSerial(message, length); } - -#if defined(USE_AX25) -void CMMDVMHost::onAX25(const unsigned char* message, unsigned int length) -{ - assert(host != nullptr); - assert(message != nullptr); - - host->writeAX25(message, length); -} -#endif - diff --git a/MMDVMHost.h b/MMDVMHost.h index e930977..b6c940a 100644 --- a/MMDVMHost.h +++ b/MMDVMHost.h @@ -73,18 +73,12 @@ private: #if defined(USE_NXDN) CNXDNControl* m_nxdn; #endif -#if defined(USE_M17) - CM17Control* m_m17; -#endif #if defined(USE_POCSAG) CPOCSAGControl* m_pocsag; #endif #if defined(USE_FM) CFMControl* m_fm; #endif -#if defined(USE_AX25) - CAX25Control* m_ax25; -#endif #if defined(USE_DSTAR) CDStarNetwork* m_dstarNetwork; #endif @@ -100,17 +94,11 @@ private: #if defined(USE_NXDN) INXDNNetwork* m_nxdnNetwork; #endif -#if defined(USE_M17) - CM17Network* m_m17Network; -#endif #if defined(USE_POCSAG) CPOCSAGNetwork* m_pocsagNetwork; #endif #if defined(USE_FM) CFMNetwork* m_fmNetwork; -#endif -#if defined(USE_AX25) - CAX25Network* m_ax25Network; #endif unsigned char m_mode; #if defined(USE_DSTAR) @@ -128,9 +116,6 @@ private: #if defined(USE_NXDN) unsigned int m_nxdnRFModeHang; #endif -#if defined(USE_M17) - unsigned int m_m17RFModeHang; -#endif #if defined(USE_FM) unsigned int m_fmRFModeHang; #endif @@ -149,9 +134,6 @@ private: #if defined(USE_NXDN) unsigned int m_nxdnNetModeHang; #endif -#if defined(USE_M17) - unsigned int m_m17NetModeHang; -#endif #if defined(USE_POCSAG) unsigned int m_pocsagNetModeHang; #endif @@ -170,10 +152,8 @@ private: bool m_ysfEnabled; bool m_p25Enabled; bool m_nxdnEnabled; - bool m_m17Enabled; bool m_pocsagEnabled; bool m_fmEnabled; - bool m_ax25Enabled; unsigned int m_cwIdTime; #if defined(USE_DMR) || defined(USE_P25) CDMRLookup* m_dmrLookup; @@ -188,59 +168,6 @@ private: std::string m_lockFileName; CRemoteControl* m_remoteControl; bool m_fixedMode; - CConf m_conf; - CModem* m_modem; - CDStarControl* m_dstar; - CDMRControl* m_dmr; - CYSFControl* m_ysf; - CP25Control* m_p25; - CNXDNControl* m_nxdn; - CPOCSAGControl* m_pocsag; - CFMControl* m_fm; - CDStarNetwork* m_dstarNetwork; - IDMRNetwork* m_dmrNetwork; - CYSFNetwork* m_ysfNetwork; - CP25Network* m_p25Network; - INXDNNetwork* m_nxdnNetwork; - CPOCSAGNetwork* m_pocsagNetwork; - CFMNetwork* m_fmNetwork; - CDisplay* m_display; - unsigned char m_mode; - unsigned int m_dstarRFModeHang; - unsigned int m_dmrRFModeHang; - unsigned int m_ysfRFModeHang; - unsigned int m_p25RFModeHang; - unsigned int m_nxdnRFModeHang; - unsigned int m_fmRFModeHang; - unsigned int m_dstarNetModeHang; - unsigned int m_dmrNetModeHang; - unsigned int m_ysfNetModeHang; - unsigned int m_p25NetModeHang; - unsigned int m_nxdnNetModeHang; - unsigned int m_pocsagNetModeHang; - unsigned int m_fmNetModeHang; - CTimer m_modeTimer; - CTimer m_dmrTXTimer; - CTimer m_cwIdTimer; - bool m_duplex; - unsigned int m_timeout; - bool m_dstarEnabled; - bool m_dmrEnabled; - bool m_ysfEnabled; - bool m_p25Enabled; - bool m_nxdnEnabled; - bool m_pocsagEnabled; - bool m_fmEnabled; - unsigned int m_cwIdTime; - CDMRLookup* m_dmrLookup; - CNXDNLookup* m_nxdnLookup; - std::string m_callsign; - unsigned int m_id; - std::string m_cwCallsign; - bool m_lockFileEnabled; - std::string m_lockFileName; - CRemoteControl* m_remoteControl; - bool m_fixedMode; CTimer m_serialTimer; unsigned char* m_serialBuffer; @@ -264,42 +191,18 @@ private: #if defined(USE_NXDN) bool createNXDNNetwork(); #endif -#if defined(USE_M17) - bool createM17Network(); -#endif #if defined(USE_POCSAG) bool createPOCSAGNetwork(); #endif #if defined(USE_FM) bool createFMNetwork(); -#endif -#if defined(USE_AX25) - bool createAX25Network(); #endif void writeSerial(const unsigned char* message, unsigned int length); -#if defined(USE_AX25) - void writeAX25(const unsigned char* message, unsigned int length); -#endif void remoteControl(const std::string& commandString); void processModeCommand(unsigned char mode, unsigned int timeout); void processEnableCommand(bool& mode, bool enabled); - void readParams(); - bool createModem(); - bool createDStarNetwork(); - bool createDMRNetwork(); - bool createYSFNetwork(); - bool createP25Network(); - bool createNXDNNetwork(); - bool createPOCSAGNetwork(); - bool createFMNetwork(); - - void remoteControl(); - void processModeCommand(unsigned char mode, unsigned int timeout); void setMode(unsigned char mode); - void setMode(unsigned char mode); - void enableModemMode(bool& mode, bool enabled); - void processEnableModeCommand(unsigned char mode, bool hasController, bool& modeEnabled, bool enableMode); void createLockFile(const char* mode) const; void removeLockFile() const; @@ -309,9 +212,6 @@ private: static void onDisplay(const unsigned char* message, unsigned int length); static void onCommand(const unsigned char* command, unsigned int length); -#if defined(USE_AX25) - static void onAX25(const unsigned char* message, unsigned int length); -#endif }; #endif diff --git a/Modem.cpp b/Modem.cpp index 7793578..b37f7e9 100644 --- a/Modem.cpp +++ b/Modem.cpp @@ -82,23 +82,10 @@ const unsigned char MMDVM_NXDN_DATA = 0x40U; const unsigned char MMDVM_NXDN_LOST = 0x41U; #endif -#if defined(USE_M17) -const unsigned char MMDVM_M17_LINK_SETUP = 0x45U; -const unsigned char MMDVM_M17_STREAM = 0x46U; -const unsigned char MMDVM_M17_PACKET = 0x47U; -const unsigned char MMDVM_M17_LOST = 0x48U; -const unsigned char MMDVM_M17_EOT = 0x49U; -#endif - #if defined(USE_POCSAG) const unsigned char MMDVM_POCSAG_DATA = 0x50U; #endif -#if defined(USE_AX25) -const unsigned char MMDVM_AX25_DATA = 0x55U; -const unsigned char MMDVM_AX25_DATA_EX = 0x56U; -#endif - #if defined(USE_FM) const unsigned char MMDVM_FM_PARAMS1 = 0x60U; const unsigned char MMDVM_FM_PARAMS2 = 0x61U; @@ -152,9 +139,6 @@ m_p25TXHang(5U), #if defined(USE_NXDN) m_nxdnTXHang(5U), #endif -#if defined(USE_M17) -m_m17TXHang(5U), -#endif m_duplex(duplex), m_rxInvert(rxInvert), m_txInvert(txInvert), @@ -180,18 +164,12 @@ m_p25TXLevel(0.0F), #if defined(USE_NXDN) m_nxdnTXLevel(0.0F), #endif -#if defined(USE_M17) -m_m17TXLevel(0.0F), -#endif #if defined(USE_POCSAG) m_pocsagTXLevel(0.0F), #endif #if defined(USE_FM) m_fmTXLevel(0.0F), #endif -#if defined(USE_AX25) -m_ax25TXLevel(0.0F), -#endif m_rfLevel(0.0F), m_useCOSAsLockout(useCOSAsLockout), m_trace(trace), @@ -216,18 +194,12 @@ m_p25Enabled(false), #if defined(USE_NXDN) m_nxdnEnabled(false), #endif -#if defined(USE_M17) -m_m17Enabled(false), -#endif #if defined(USE_POCSAG) m_pocsagEnabled(false), #endif #if defined(USE_FM) m_fmEnabled(false), #endif -#if defined(USE_AX25) -m_ax25Enabled(false), -#endif m_rxDCOffset(0), m_txDCOffset(0), m_port(nullptr), @@ -258,10 +230,6 @@ m_txP25Data(1000U, "Modem TX P25"), m_rxNXDNData(1000U, "Modem RX NXDN"), m_txNXDNData(1000U, "Modem TX NXDN"), #endif -#if defined(USE_M17) -m_rxM17Data(1000U, "Modem RX M17"), -m_txM17Data(1000U, "Modem TX M17"), -#endif #if defined(USE_POCSAG) m_txPOCSAGData(1000U, "Modem TX POCSAG"), #endif @@ -269,10 +237,6 @@ m_txPOCSAGData(1000U, "Modem TX POCSAG"), m_rxFMData(5000U, "Modem RX FM"), m_txFMData(5000U, "Modem TX FM"), #endif -#if defined(USE_AX25) -m_rxAX25Data(1000U, "Modem RX AX.25"), -m_txAX25Data(1000U, "Modem TX AX.25"), -#endif m_rxSerialData(1000U, "Modem RX Serial"), m_txSerialData(1000U, "Modem TX Serial"), m_rxTransparentData(1000U, "Modem RX Transparent"), @@ -297,30 +261,18 @@ m_p25Space(0U), #if defined(USE_NXDN) m_nxdnSpace(0U), #endif -#if defined(USE_M17) -m_m17Space(0U), -#endif #if defined(USE_POCSAG) m_pocsagSpace(0U), #endif #if defined(USE_FM) m_fmSpace(0U), #endif -#if defined(USE_AX25) -m_ax25Space(0U), -#endif m_tx(false), m_cd(false), m_lockout(false), m_error(false), m_mode(MODE_IDLE), m_hwType(HW_TYPE::UNKNOWN), -#if defined(USE_AX25) -m_ax25RXTwist(0), -m_ax25TXDelay(300U), -m_ax25SlotTime(30U), -m_ax25PPersist(128U), -#endif #if defined(USE_FM) m_fmCallsign(), m_fmCallsignSpeed(20U), @@ -406,18 +358,12 @@ void CModem::setModeParams(bool dstarEnabled, bool dmrEnabled, bool ysfEnabled, #if defined(USE_NXDN) m_nxdnEnabled = nxdnEnabled; #endif -#if defined(USE_M17) - m_m17Enabled = m17Enabled; -#endif #if defined(USE_POCSAG) m_pocsagEnabled = pocsagEnabled; #endif #if defined(USE_FM) m_fmEnabled = fmEnabled; #endif -#if defined(USE_AX25) - m_ax25Enabled = ax25Enabled; -#endif } void CModem::setLevels(float rxLevel, float cwIdTXLevel, float dstarTXLevel, float dmrTXLevel, float ysfTXLevel, float p25TXLevel, float nxdnTXLevel, float pocsagTXLevel, float fmTXLevel) @@ -439,18 +385,12 @@ void CModem::setLevels(float rxLevel, float cwIdTXLevel, float dstarTXLevel, flo #if defined(USE_NXDN) m_nxdnTXLevel = nxdnTXLevel; #endif -#if defined(USE_M17) - m_m17TXLevel = m17TXLevel; -#endif #if defined(USE_POCSAG) m_pocsagTXLevel = pocsagTXLevel; #endif #if defined(USE_FM) m_fmTXLevel = fmTXLevel; #endif -#if defined(USE_AX25) - m_ax25TXLevel = ax25TXLevel; -#endif } #if defined(USE_DMR) @@ -484,23 +424,6 @@ void CModem::setNXDNParams(unsigned int txHang) } #endif -#if defined(USE_M17) -void CModem::setM17Params(unsigned int txHang) -{ - m_m17TXHang = txHang; -} -#endif - -#if defined(USE_AX25) -void CModem::setAX25Params(int rxTwist, unsigned int txDelay, unsigned int slotTime, unsigned int pPersist) -{ - m_ax25RXTwist = rxTwist; - m_ax25TXDelay = txDelay; - m_ax25SlotTime = slotTime; - m_ax25PPersist = pPersist; -} -#endif - void CModem::setTransparentDataParams(unsigned int sendFrameType) { m_sendTransparentDataFrameType = sendFrameType; @@ -831,60 +754,6 @@ void CModem::clock(unsigned int ms) break; #endif -#if defined(USE_M17) - case MMDVM_M17_LINK_SETUP: { - if (m_trace) - CUtils::dump(1U, "RX M17 Link Setup", m_buffer, m_length); - - unsigned char data = m_length - 2U; - m_rxM17Data.addData(&data, 1U); - - data = TAG_HEADER; - m_rxM17Data.addData(&data, 1U); - - m_rxM17Data.addData(m_buffer + 3U, m_length - 3U); - } - break; - - case MMDVM_M17_STREAM: { - if (m_trace) - CUtils::dump(1U, "RX M17 Stream Data", m_buffer, m_length); - - unsigned char data = m_length - 2U; - m_rxM17Data.addData(&data, 1U); - - data = TAG_DATA; - m_rxM17Data.addData(&data, 1U); - - m_rxM17Data.addData(m_buffer + 3U, m_length - 3U); - } - break; - - case MMDVM_M17_EOT: { - if (m_trace) - CUtils::dump(1U, "RX M17 EOT", m_buffer, m_length); - - unsigned char data = 1U; - m_rxM17Data.addData(&data, 1U); - - data = TAG_EOT; - m_rxM17Data.addData(&data, 1U); - } - break; - - case MMDVM_M17_LOST: { - if (m_trace) - CUtils::dump(1U, "RX M17 Lost", m_buffer, m_length); - - unsigned char data = 1U; - m_rxM17Data.addData(&data, 1U); - - data = TAG_LOST; - m_rxM17Data.addData(&data, 1U); - } - break; -#endif - #if defined(USE_FM) case MMDVM_FM_DATA: { if (m_trace) @@ -943,36 +812,6 @@ void CModem::clock(unsigned int ms) break; #endif -#if defined(USE_AX25) - case MMDVM_AX25_DATA: { - if (m_trace) - CUtils::dump(1U, "RX AX.25 Data", m_buffer, m_length); - - unsigned int data1 = m_length - m_offset + 1U; - m_rxAX25Data.addData((unsigned char*)&data1, sizeof(unsigned int)); - - unsigned char data2 = TAG_DATA; - m_rxFMData.addData(&data2, 1U); - - m_rxAX25Data.addData(m_buffer + m_offset, m_length - m_offset); - } - break; - - case MMDVM_AX25_DATA_EX: { - if (m_trace) - CUtils::dump(1U, "RX AX.25 Data Extended", m_buffer, m_length); - - unsigned int data1 = m_length - m_offset + 1U; - m_rxAX25Data.addData((unsigned char*)&data1, sizeof(unsigned int)); - - unsigned char data2 = TAG_RSSI; - m_rxFMData.addData(&data2, 1U); - - m_rxAX25Data.addData(m_buffer + m_offset, m_length - m_offset); - } - break; -#endif - case MMDVM_GET_STATUS: // if (m_trace) // CUtils::dump(1U, "GET_STATUS", m_buffer, m_length); @@ -1003,18 +842,12 @@ void CModem::clock(unsigned int ms) #if defined(USE_NXDN) m_nxdnSpace = 0U; #endif -#if defined(USE_M17) - m_m17Space = 0U; -#endif #if defined(USE_POCSAG) m_pocsagSpace = 0U; #endif #if defined(USE_FM) m_fmSpace = 0U; #endif -#if defined(USE_AX25) - m_ax25Space = 0U; -#endif #if defined(USE_DSTAR) m_dstarSpace = m_buffer[m_offset + 3U]; #endif @@ -1037,10 +870,6 @@ void CModem::clock(unsigned int ms) #if defined(USE_POCSAG) if (m_length > (m_offset + 9U)) m_pocsagSpace = m_buffer[m_offset + 9U]; -#endif -#if defined(USE_M17) - if (m_length > (m_offset + 10U)) - m_m17Space = m_buffer[m_offset + 10U]; #endif } break; @@ -1080,17 +909,11 @@ void CModem::clock(unsigned int ms) #if defined(USE_NXDN) m_nxdnSpace = m_buffer[m_offset + 8U]; #endif -#if defined(USE_M17) - m_m17Space = m_buffer[m_offset + 9U]; -#endif #if defined(USE_FM) m_fmSpace = m_buffer[m_offset + 10U]; #endif #if defined(USE_POCSAG) m_pocsagSpace = m_buffer[m_offset + 11U]; -#endif -#if defined(USE_AX25) - m_ax25Space = m_buffer[m_offset + 12U]; #endif } break; @@ -1112,17 +935,11 @@ void CModem::clock(unsigned int ms) #if defined(USE_NXDN) m_nxdnSpace = 0U; #endif -#if defined(USE_M17) - m_m17Space = 0U; -#endif #if defined(USE_POCSAG) m_pocsagSpace = 0U; #endif #if defined(USE_FM) m_fmSpace = 0U; -#endif -#if defined(USE_AX25) - m_ax25Space = 0U; #endif break; } @@ -1321,36 +1138,6 @@ void CModem::clock(unsigned int ms) } #endif -#if defined(USE_M17) - if (m_m17Space > 1U && !m_txM17Data.isEmpty()) { - unsigned char len = 0U; - m_txM17Data.getData(&len, 1U); - m_txM17Data.getData(m_buffer, len); - - if (m_trace) { - switch (m_buffer[2U]) { - case MMDVM_M17_LINK_SETUP: - CUtils::dump(1U, "TX M17 Link Setup", m_buffer, len); - break; - case MMDVM_M17_STREAM: - CUtils::dump(1U, "TX M17 Stream Data", m_buffer, len); - break; - case MMDVM_M17_EOT: - CUtils::dump(1U, "TX M17 EOT", m_buffer, len); - break; - } - } - - int ret = m_port->write(m_buffer, len); - if (ret != int(len)) - LogWarning("Error when writing M17 data to the MMDVM"); - - m_playoutTimer.start(); - - m_m17Space--; - } -#endif - #if defined(USE_POCSAG) if (m_pocsagSpace > 1U && !m_txPOCSAGData.isEmpty()) { unsigned char len = 0U; @@ -1393,25 +1180,6 @@ void CModem::clock(unsigned int ms) } #endif -#if defined(USE_AX25) - if (m_ax25Space > 0U && !m_txAX25Data.isEmpty()) { - unsigned int len = 0U; - m_txAX25Data.getData((unsigned char*)&len, sizeof(unsigned int)); - m_txAX25Data.getData(m_buffer, len); - - if (m_trace) - CUtils::dump(1U, "TX AX.25 Data", m_buffer, len); - - int ret = m_port->write(m_buffer, len); - if (ret != int(len)) - LogWarning("Error when writing AX.25 data to the MMDVM"); - - m_playoutTimer.start(); - - m_ax25Space = 0U; - } -#endif - if (!m_txTransparentData.isEmpty()) { unsigned char len = 0U; m_txTransparentData.getData(&len, 1U); @@ -1542,22 +1310,6 @@ unsigned int CModem::readNXDNData(unsigned char* data) } #endif -#if defined(USE_M17) -unsigned int CModem::readM17Data(unsigned char* data) -{ - assert(data != nullptr); - - if (m_rxM17Data.isEmpty()) - return 0U; - - unsigned char len = 0U; - m_rxM17Data.getData(&len, 1U); - m_rxM17Data.getData(data, len); - - return len; -} -#endif - #if defined(USE_FM) unsigned int CModem::readFMData(unsigned char* data) { @@ -1574,22 +1326,6 @@ unsigned int CModem::readFMData(unsigned char* data) } #endif -#if defined(USE_AX25) -unsigned int CModem::readAX25Data(unsigned char* data) -{ - assert(data != nullptr); - - if (m_rxAX25Data.isEmpty()) - return 0U; - - unsigned int len = 0U; - m_rxAX25Data.getData((unsigned char*)&len, sizeof(unsigned int)); - m_rxAX25Data.getData(data, len); - - return len; -} -#endif - unsigned int CModem::readTransparentData(unsigned char* data) { assert(data != nullptr); @@ -1819,49 +1555,6 @@ bool CModem::writeNXDNData(const unsigned char* data, unsigned int length) } #endif -#if defined(USE_M17) -bool CModem::hasM17Space() const -{ - unsigned int space = m_txM17Data.freeSpace() / (M17_FRAME_LENGTH_BYTES + 4U); - - return space > 1U; -} - -bool CModem::writeM17Data(const unsigned char* data, unsigned int length) -{ - assert(data != nullptr); - assert(length > 0U); - - unsigned char buffer[130U]; - - buffer[0U] = MMDVM_FRAME_START; - buffer[1U] = length + 2U; - - switch (data[0U]) { - case TAG_HEADER: - buffer[2U] = MMDVM_M17_LINK_SETUP; - ::memcpy(buffer + 3U, data + 1U, length - 1U); - break; - case TAG_DATA: - buffer[2U] = MMDVM_M17_STREAM; - ::memcpy(buffer + 3U, data + 1U, length - 1U); - break; - case TAG_EOT: - buffer[2U] = MMDVM_M17_EOT; - ::memcpy(buffer + 3U, data + 1U, length - 1U); - break; - default: - return false; - } - - unsigned char len = length + 2U; - m_txM17Data.addData(&len, 1U); - m_txM17Data.addData(buffer, len); - - return true; -} -#endif - #if defined(USE_POCSAG) bool CModem::hasPOCSAGSpace() const { @@ -1927,44 +1620,6 @@ bool CModem::writeFMData(const unsigned char* data, unsigned int length) } #endif -#if defined(USE_AX25) -bool CModem::hasAX25Space() const -{ - unsigned int space = m_txAX25Data.freeSpace() / (AX25_MAX_FRAME_LENGTH_BYTES + 5U); - - return space > 1U; -} - -bool CModem::writeAX25Data(const unsigned char* data, unsigned int length) -{ - assert(data != nullptr); - assert(length > 0U); - - unsigned char buffer[500U]; - - unsigned int len; - if (length > 252U) { - buffer[0U] = MMDVM_FRAME_START; - buffer[1U] = 0U; - buffer[2U] = (length + 4U) - 255U; - buffer[3U] = MMDVM_AX25_DATA; - ::memcpy(buffer + 4U, data, length); - len = length + 4U; - } else { - buffer[0U] = MMDVM_FRAME_START; - buffer[1U] = length + 3U; - buffer[2U] = MMDVM_AX25_DATA; - ::memcpy(buffer + 3U, data, length); - len = length + 3U; - } - - m_txAX25Data.addData((unsigned char*)&len, sizeof(unsigned int)); - m_txAX25Data.addData(buffer, len); - - return true; -} -#endif - bool CModem::writeTransparentData(const unsigned char* data, unsigned int length) { assert(data != nullptr); @@ -2142,32 +1797,6 @@ bool CModem::writeNXDNInfo(const char* source, bool group, unsigned int dest, co } #endif -#if defined(USE_M17) -bool CModem::writeM17Info(const char* source, const char* dest, const char* type) -{ - assert(m_port != nullptr); - assert(source != nullptr); - assert(dest != nullptr); - assert(type != nullptr); - - unsigned char buffer[40U]; - - buffer[0U] = MMDVM_FRAME_START; - buffer[1U] = 31U; - buffer[2U] = MMDVM_QSO_INFO; - - buffer[3U] = MODE_M17; - - ::sprintf((char*)(buffer + 4U), "%9.9s", source); - - ::sprintf((char*)(buffer + 13U), "%9.9s", dest); - - ::memcpy(buffer + 22U, type, 1U); - - return m_port->write(buffer, 23U) != 23; -} -#endif - #if defined(USE_POCSAG) bool CModem::writePOCSAGInfo(unsigned int ric, const std::string& message) { @@ -2354,8 +1983,6 @@ bool CModem::readVersion() LogInfo("MMDVM protocol version: 1, description: %.*s", m_length - 4U, m_buffer + 4U); m_capabilities1 = CAP1_DSTAR | CAP1_DMR | CAP1_YSF | CAP1_P25 | CAP1_NXDN; m_capabilities2 = CAP2_POCSAG; - if (::strstr((char*)(m_buffer + 4U), "v1.6.") != nullptr) - m_capabilities1 |= CAP1_M17; break; case 2U: @@ -2395,14 +2022,10 @@ bool CModem::readVersion() ::strcat(modeText, " P25"); if (hasNXDN()) ::strcat(modeText, " NXDN"); - if (hasM17()) - ::strcat(modeText, " M17"); if (hasFM()) ::strcat(modeText, " FM"); if (hasPOCSAG()) ::strcat(modeText, " POCSAG"); - if (hasAX25()) - ::strcat(modeText, " AX.25"); LogInfo(modeText); return true; @@ -2499,10 +2122,6 @@ bool CModem::setConfig1() if (m_pocsagEnabled) buffer[4U] |= 0x20U; #endif -#if defined(USE_M17) - if (m_m17Enabled) - buffer[4U] |= 0x40U; -#endif buffer[5U] = m_txDelay / 10U; // In 10ms units @@ -2576,13 +2195,9 @@ bool CModem::setConfig1() #else buffer[23U] = 0U; #endif -#if defined(USE_M17) - buffer[24U] = (unsigned char)(m_m17TXLevel * 2.55F + 0.5F); - buffer[25U] = (unsigned char)m_m17TXHang; -#else + buffer[24U] = 0U; buffer[25U] = 0U; -#endif // CUtils::dump(1U, "Written", buffer, 26U); @@ -2672,19 +2287,11 @@ bool CModem::setConfig2() if (m_fmEnabled) buffer[4U] |= 0x20U; #endif -#if defined(USE_M17) - if (m_m17Enabled) - buffer[4U] |= 0x40U; -#endif buffer[5U] = 0x00U; #if defined(USE_POCSAG) if (m_pocsagEnabled) buffer[5U] |= 0x01U; -#endif -#if defined(USE_AX25) - if (m_ax25Enabled) - buffer[5U] |= 0x02U; #endif buffer[6U] = m_txDelay / 10U; // In 10ms units @@ -2722,11 +2329,9 @@ bool CModem::setConfig2() #else buffer[16U] = 0U; #endif -#if defined(USE_M17) - buffer[17U] = (unsigned char)(m_m17TXLevel * 2.55F + 0.5F); -#else + buffer[17U] = 0U; -#endif + #if defined(USE_POCSAG) buffer[18U] = (unsigned char)(m_pocsagTXLevel * 2.55F + 0.5F); #else @@ -2737,12 +2342,8 @@ bool CModem::setConfig2() #else buffer[19U] = 0U; #endif -#if defined(USE_AX25) - buffer[20U] = (unsigned char)(m_ax25TXLevel * 2.55F + 0.5F); -#else - buffer[20U] = 0U; -#endif + buffer[20U] = 0U; buffer[21U] = 0x00U; buffer[22U] = 0x00U; @@ -2761,12 +2362,8 @@ bool CModem::setConfig2() #else buffer[25U] = 0U; #endif -#if defined(USE_M17) - buffer[26U] = (unsigned char)m_m17TXHang; -#else - buffer[26U] = 0U; -#endif + buffer[26U] = 0U; buffer[27U] = 0x00U; buffer[28U] = 0x00U; @@ -2778,18 +2375,10 @@ bool CModem::setConfig2() buffer[30U] = 0U; #endif -#if defined(USE_AX25) - buffer[31U] = (unsigned char)(m_ax25RXTwist + 128); - buffer[32U] = m_ax25TXDelay / 10U; // In 10ms units - buffer[33U] = m_ax25SlotTime / 10U; // In 10ms units - buffer[34U] = m_ax25PPersist; -#else buffer[31U] = 0U; buffer[32U] = 0U; buffer[33U] = 0U; buffer[34U] = 0U; -#endif - buffer[35U] = 0x00U; buffer[36U] = 0x00U; buffer[37U] = 0x00U; diff --git a/Modem.h b/Modem.h index a2dcb43..58b7037 100644 --- a/Modem.h +++ b/Modem.h @@ -47,8 +47,8 @@ public: void setPort(IModemPort* port); void setRFParams(unsigned int rxFrequency, int rxOffset, unsigned int txFrequency, int txOffset, int txDCOffset, int rxDCOffset, float rfLevel, unsigned int pocsagFrequency); - void setModeParams(bool dstarEnabled, bool dmrEnabled, bool ysfEnabled, bool p25Enabled, bool nxdnEnabled, bool m17Enabled, bool pocsagEnabled, bool fmEnabled, bool ax25Enabled); - void setLevels(float rxLevel, float cwIdTXLevel, float dstarTXLevel, float dmrTXLevel, float ysfTXLevel, float p25TXLevel, float nxdnTXLevel, float m17TXLevel, float pocsagLevel, float fmTXLevel, float ax25TXLevel); + void setModeParams(bool dstarEnabled, bool dmrEnabled, bool ysfEnabled, bool p25Enabled, bool nxdnEnabled, bool pocsagEnabled, bool fmEnabled); + void setLevels(float rxLevel, float cwIdTXLevel, float dstarTXLevel, float dmrTXLevel, float ysfTXLevel, float p25TXLevel, float nxdnTXLevel, float pocsagLevel, float fmTXLevel); #if defined(USE_DMR) void setDMRParams(unsigned int colorCode); @@ -61,12 +61,6 @@ public: #endif #if defined(USE_NXDN) void setNXDNParams(unsigned int txHang); -#endif -#if defined(USE_M17) - void setM17Params(unsigned int txHang); -#endif -#if defined(USE_AX25) - void setAX25Params(int rxTwist, unsigned int txDelay, unsigned int slotTime, unsigned int pPersist); #endif void setTransparentDataParams(unsigned int sendFrameType); @@ -105,15 +99,9 @@ public: #if defined(USE_NXDN) unsigned int readNXDNData(unsigned char* data); #endif -#if defined(USE_M17) - unsigned int readM17Data(unsigned char* data); -#endif #if defined(USE_FM) unsigned int readFMData(unsigned char* data); #endif -#if defined(USE_AX25) - unsigned int readAX25Data(unsigned char* data); -#endif #if defined(USE_DSTAR) bool hasDStarSpace() const; @@ -131,18 +119,12 @@ public: #if defined(USE_NXDN) bool hasNXDNSpace() const; #endif -#if defined(USE_M17) - bool hasM17Space() const; -#endif #if defined(USE_POCSAG) bool hasPOCSAGSpace() const; #endif #if defined(USE_FM) unsigned int getFMSpace() const; #endif -#if defined(USE_AX25) - bool hasAX25Space() const; -#endif bool hasTX() const; bool hasCD() const; @@ -168,18 +150,12 @@ public: #if defined(USE_NXDN) bool writeNXDNData(const unsigned char* data, unsigned int length); #endif -#if defined(USE_M17) - bool writeM17Data(const unsigned char* data, unsigned int length); -#endif #if defined(USE_POCSAG) bool writePOCSAGData(const unsigned char* data, unsigned int length); #endif #if defined(USE_FM) bool writeFMData(const unsigned char* data, unsigned int length); #endif -#if defined(USE_AX25) - bool writeAX25Data(const unsigned char* data, unsigned int length); -#endif #if defined(USE_DSTAR) bool writeDStarInfo(const char* my1, const char* my2, const char* your, const char* type, const char* reflector); @@ -196,9 +172,6 @@ public: #if defined(USE_NXDN) bool writeNXDNInfo(const char* source, bool group, unsigned int dest, const char* type); #endif -#if defined(USE_M17) - bool writeM17Info(const char* source, const char* dest, const char* type); -#endif #if defined(USE_POCSAG) bool writePOCSAGInfo(unsigned int ric, const std::string& message); #endif @@ -240,9 +213,6 @@ private: #endif #if defined(USE_NXDN) unsigned int m_nxdnTXHang; -#endif -#if defined(USE_M17) - unsigned int m_m17TXHang; #endif bool m_duplex; bool m_rxInvert; @@ -269,17 +239,11 @@ private: #if defined(USE_NXDN) float m_nxdnTXLevel; #endif -#if defined(USE_M17) - float m_m17TXLevel; -#endif #if defined(USE_POCSAG) float m_pocsagTXLevel; #endif #if defined(USE_FM) float m_fmTXLevel; -#endif -#if defined(USE_AX25) - float m_ax25TXLevel; #endif float m_rfLevel; bool m_useCOSAsLockout; @@ -305,17 +269,11 @@ private: #if defined(USE_NXDN) bool m_nxdnEnabled; #endif -#if defined(USE_M17) - bool m_m17Enabled; -#endif #if defined(USE_POCSAG) bool m_pocsagEnabled; #endif #if defined(USE_FM) bool m_fmEnabled; -#endif -#if defined(USE_AX25) - bool m_ax25Enabled; #endif int m_rxDCOffset; int m_txDCOffset; @@ -348,20 +306,12 @@ private: CRingBuffer m_rxNXDNData; CRingBuffer m_txNXDNData; #endif -#if defined(USE_M17) - CRingBuffer m_rxM17Data; - CRingBuffer m_txM17Data; -#endif #if defined(USE_POCSAG) CRingBuffer m_txPOCSAGData; #endif #if defined(USE_FM) CRingBuffer m_rxFMData; CRingBuffer m_txFMData; -#endif -#if defined(USE_AX25) - CRingBuffer m_rxAX25Data; - CRingBuffer m_txAX25Data; #endif CRingBuffer m_rxSerialData; CRingBuffer m_txSerialData; @@ -387,17 +337,11 @@ private: #if defined(USE_NXDN) unsigned int m_nxdnSpace; #endif -#if defined(USE_M17) - unsigned int m_m17Space; -#endif #if defined(USE_POCSAG) unsigned int m_pocsagSpace; #endif #if defined(USE_FM) unsigned int m_fmSpace; -#endif -#if defined(USE_AX25) - unsigned int m_ax25Space; #endif bool m_tx; bool m_cd; @@ -405,12 +349,6 @@ private: bool m_error; unsigned char m_mode; HW_TYPE m_hwType; -#if defined(USE_AX25) - int m_ax25RXTwist; - unsigned int m_ax25TXDelay; - unsigned int m_ax25SlotTime; - unsigned int m_ax25PPersist; -#endif #if defined(USE_FM) std::string m_fmCallsign; unsigned int m_fmCallsignSpeed; diff --git a/RemoteControl.cpp b/RemoteControl.cpp index 1ad9383..54a6587 100644 --- a/RemoteControl.cpp +++ b/RemoteControl.cpp @@ -87,10 +87,6 @@ REMOTE_COMMAND CRemoteControl::getCommand(const std::string& command) #if defined(USE_NXDN) else if (m_args.at(1U) == "nxdn") m_command = REMOTE_COMMAND::MODE_NXDN; -#endif -#if defined(USE_M17) - else if (m_args.at(1U) == "m17") - m_command = REMOTE_COMMAND::MODE_M17; #endif else reply = "KO"; @@ -120,20 +116,10 @@ REMOTE_COMMAND CRemoteControl::getCommand(const std::string& command) m_command = REMOTE_COMMAND::ENABLE_NXDN; else #endif -#if defined(USE_M17) - if (m_args.at(1U) == "m17") - m_command = REMOTE_COMMAND::ENABLE_M17; - else -#endif #if defined(USE_FM) if (m_args.at(1U) == "fm") m_command = REMOTE_COMMAND::ENABLE_FM; else -#endif -#if defined(USE_AX25) - if (m_args.at(1U) == "ax25") - m_command = REMOTE_COMMAND::ENABLE_AX25; - else #endif reply = "KO"; } else if (m_args.at(0U) == "disable" && m_args.size() >= DISABLE_ARGS) { @@ -162,20 +148,10 @@ REMOTE_COMMAND CRemoteControl::getCommand(const std::string& command) m_command = REMOTE_COMMAND::DISABLE_NXDN; else #endif -#if defined(USE_M17) - if (m_args.at(1U) == "m17") - m_command = REMOTE_COMMAND::DISABLE_M17; - else -#endif #if defined(USE_FM) if (m_args.at(1U) == "fm") m_command = REMOTE_COMMAND::DISABLE_FM; else -#endif -#if defined(USE_AX25) - if (m_args.at(1U) == "ax25") - m_command = REMOTE_COMMAND::DISABLE_AX25; - else #endif reply = "KO"; #if defined(USE_POCSAG) @@ -252,9 +228,6 @@ unsigned int CRemoteControl::getArgCount() const #endif #if defined(USE_NXDN) case REMOTE_COMMAND::MODE_NXDN: -#endif -#if defined(USE_M17) - case REMOTE_COMMAND::MODE_M17: #endif return (unsigned int)m_args.size() - SET_MODE_ARGS; #if defined(USE_POCSAG) @@ -290,9 +263,6 @@ std::string CRemoteControl::getArgString(unsigned int n) const #endif #if defined(USE_NXDN) case REMOTE_COMMAND::MODE_NXDN: -#endif -#if defined(USE_M17) - case REMOTE_COMMAND::MODE_M17: #endif n += SET_MODE_ARGS; break; @@ -326,4 +296,3 @@ int CRemoteControl::getArgInt(unsigned int n) const { return ::atoi(getArgString(n).c_str()); } - diff --git a/RemoteControl.h b/RemoteControl.h index 691866b..e02f1a3 100644 --- a/RemoteControl.h +++ b/RemoteControl.h @@ -47,9 +47,6 @@ enum class REMOTE_COMMAND { #if defined(USE_NXDN) MODE_NXDN, #endif -#if defined(USE_M17) - MODE_M17, -#endif #if defined(USE_FM) MODE_FM, #endif @@ -68,15 +65,9 @@ enum class REMOTE_COMMAND { #if defined(USE_NXDN) ENABLE_NXDN, #endif -#if defined(USE_M17) - ENABLE_M17, -#endif #if defined(USE_FM) ENABLE_FM, #endif -#if defined(USE_AX25) - ENABLE_AX25, -#endif #if defined(USE_DSTAR) DISABLE_DSTAR, #endif @@ -92,15 +83,9 @@ enum class REMOTE_COMMAND { #if defined(USE_NXDN) DISABLE_NXDN, #endif -#if defined(USE_M17) - DISABLE_M17, -#endif #if defined(USE_FM) DISABLE_FM, #endif -#if defined(USE_AX25) - DISABLE_AX25, -#endif #if defined(USE_POCSAG) PAGE, PAGE_BCD,