Drop duplicate packets

This commit is contained in:
Andy CA6JAU 2018-02-09 17:30:53 -03:00
parent 349cc43a1d
commit 04934c5dcc

View file

@ -1353,10 +1353,10 @@ void CDMRSlot::writeNetwork(const CDMRData& dmrData)
m_netLost = 0U; m_netLost = 0U;
} }
insertSilence(data, dmrData.getN()); if (insertSilence(data, dmrData.getN())) {
if (!m_netTimeout)
if (!m_netTimeout) writeQueueNet(data);
writeQueueNet(data); }
m_netEmbeddedReadN = (m_netEmbeddedReadN + 1U) % 2U; m_netEmbeddedReadN = (m_netEmbeddedReadN + 1U) % 2U;
m_netEmbeddedWriteN = (m_netEmbeddedWriteN + 1U) % 2U; m_netEmbeddedWriteN = (m_netEmbeddedWriteN + 1U) % 2U;
@ -1505,10 +1505,10 @@ void CDMRSlot::writeNetwork(const CDMRData& dmrData)
m_netLost = 0U; m_netLost = 0U;
} }
insertSilence(data, dmrData.getN()); if (insertSilence(data, dmrData.getN())) {
if (!m_netTimeout)
if (!m_netTimeout) writeQueueNet(data);
writeQueueNet(data); }
m_packetTimer.start(); m_packetTimer.start();
m_elapsed.start(); m_elapsed.start();
@ -1989,6 +1989,10 @@ bool CDMRSlot::insertSilence(const unsigned char* data, unsigned char seqNo)
{ {
assert(data != NULL); assert(data != NULL);
// Do not send duplicate
if (seqNo == m_netN)
return false;
// Check to see if we have any spaces to fill? // Check to see if we have any spaces to fill?
unsigned char seq = (m_netN + 1U) % 6U; unsigned char seq = (m_netN + 1U) % 6U;