ensure TDU preamble is sent before voice for late entry;

pull/61/head
Bryan Biedenkapp 2 years ago
parent 98ded890f0
commit d467405a01

@ -1596,6 +1596,9 @@ void Control::writeRF_Nulls()
void Control::writeRF_Preamble(uint32_t preambleCount, bool force) void Control::writeRF_Preamble(uint32_t preambleCount, bool force)
{ {
if (!m_duplex && !force)
return;
if (preambleCount == 0) { if (preambleCount == 0) {
preambleCount = m_tduPreambleCount; preambleCount = m_tduPreambleCount;
} }

@ -159,9 +159,7 @@ bool Voice::process(uint8_t* data, uint32_t len)
} }
} }
if (m_p25->m_duplex) { m_p25->writeRF_Preamble();
m_p25->writeRF_Preamble();
}
m_p25->m_rfTGHang.start(); m_p25->m_rfTGHang.start();
m_p25->m_netTGHang.stop(); m_p25->m_netTGHang.stop();
@ -517,6 +515,8 @@ bool Voice::process(uint8_t* data, uint32_t len)
else { else {
frameType = FrameType::HDU_LATE_ENTRY; frameType = FrameType::HDU_LATE_ENTRY;
LogWarning(LOG_RF, P25_HDU_STR ", not transmitted; possible late entry, dstId = %u, algo = $%02X, kid = $%04X", m_rfLastHDU.getDstId(), m_rfLastHDU.getAlgId(), m_rfLastHDU.getKId()); LogWarning(LOG_RF, P25_HDU_STR ", not transmitted; possible late entry, dstId = %u, algo = $%02X, kid = $%04X", m_rfLastHDU.getDstId(), m_rfLastHDU.getAlgId(), m_rfLastHDU.getKId());
m_p25->writeRF_Preamble();
} }
// if voice on control; insert group voice channel updates directly after HDU but before LDUs // if voice on control; insert group voice channel updates directly after HDU but before LDUs

Loading…
Cancel
Save

Powered by TurnKey Linux.