diff --git a/DMRSlot.cpp b/DMRSlot.cpp index f4d29b1..9a6d7ec 100644 --- a/DMRSlot.cpp +++ b/DMRSlot.cpp @@ -137,6 +137,9 @@ bool CDMRSlot::writeModem(unsigned char *data, unsigned int len) { assert(data != NULL); + if (!m_enabled) + return false; + if (data[0U] == TAG_LOST && m_rfState == RS_RF_AUDIO) { if (m_rssi != 0U) LogMessage("DMR Slot %u, RF voice transmission lost, %.1f seconds, BER: %.1f%%, RSSI: -%u/-%u/-%u dBm", m_slotNo, float(m_rfFrames) / 16.667F, float(m_rfErrs * 100U) / float(m_rfBits), m_minRSSI, m_maxRSSI, m_aveRSSI / m_rssiCount); @@ -991,6 +994,9 @@ void CDMRSlot::writeEndNet(bool writeEnd) void CDMRSlot::writeNetwork(const CDMRData& dmrData) { + if (!m_enabled) + return; + if (m_rfState != RS_RF_LISTENING && m_netState == RS_NET_IDLE) return; diff --git a/DStarControl.cpp b/DStarControl.cpp index f0394c7..9181e1d 100644 --- a/DStarControl.cpp +++ b/DStarControl.cpp @@ -121,6 +121,9 @@ bool CDStarControl::writeModem(unsigned char *data, unsigned int len) { assert(data != NULL); + if (!m_enabled) + return false; + unsigned char type = data[0U]; if (type == TAG_LOST && (m_rfState == RS_RF_AUDIO || m_rfState == RS_RF_DATA)) { @@ -622,6 +625,9 @@ void CDStarControl::writeNetwork() if (length == 0U) return; + if (!m_enabled) + return; + if ((m_rfState == RS_RF_AUDIO || m_rfState == RS_RF_DATA) && m_netState == RS_NET_IDLE) return; diff --git a/NXDNControl.cpp b/NXDNControl.cpp index 5334cb7..495724f 100644 --- a/NXDNControl.cpp +++ b/NXDNControl.cpp @@ -87,6 +87,9 @@ bool CNXDNControl::writeModem(unsigned char *data, unsigned int len) { assert(data != NULL); + if (!m_enabled) + return false; + unsigned char type = data[0U]; if (type == TAG_LOST && m_rfState == RS_RF_AUDIO) { @@ -727,6 +730,9 @@ void CNXDNControl::writeNetwork() if (!exists) return; + if (!m_enabled) + return; + if (m_rfState != RS_RF_LISTENING && m_netState == RS_NET_IDLE) return; diff --git a/P25Control.cpp b/P25Control.cpp index 1d90b2c..a21602e 100644 --- a/P25Control.cpp +++ b/P25Control.cpp @@ -116,6 +116,9 @@ bool CP25Control::writeModem(unsigned char* data, unsigned int len) { assert(data != NULL); + if (!m_enabled) + return false; + bool sync = data[1U] == 0x01U; if (data[0U] == TAG_LOST && m_rfState == RS_RF_AUDIO) { @@ -604,6 +607,9 @@ void CP25Control::writeNetwork() if (length == 0U) return; + if (!m_enabled) + return; + if (m_rfState != RS_RF_LISTENING && m_netState == RS_NET_IDLE) return; diff --git a/POCSAGControl.cpp b/POCSAGControl.cpp index 85728cb..ff7ec2f 100644 --- a/POCSAGControl.cpp +++ b/POCSAGControl.cpp @@ -106,6 +106,9 @@ bool CPOCSAGControl::processData() if (length == 0U) return false; + if (!m_enabled) + return false; + m_ric = 0U; m_ric |= (data[0U] << 16) & 0x00FF0000U; m_ric |= (data[1U] << 8) & 0x0000FF00U; diff --git a/YSFControl.cpp b/YSFControl.cpp index f098d8a..21d2294 100644 --- a/YSFControl.cpp +++ b/YSFControl.cpp @@ -110,6 +110,9 @@ bool CYSFControl::writeModem(unsigned char *data, unsigned int len) { assert(data != NULL); + if (!m_enabled) + return false; + unsigned char type = data[0U]; if (type == TAG_LOST && m_rfState == RS_RF_AUDIO) { @@ -1032,6 +1035,9 @@ void CYSFControl::writeNetwork() if (length == 0U) return; + if (!m_enabled) + return; + if (m_rfState != RS_RF_LISTENING && m_netState == RS_NET_IDLE) return;