Fix silly sequence number bug.

This commit is contained in:
Jonathan Naylor 2016-03-21 18:13:21 +00:00
parent fa55636fff
commit 8e5387c4ee

View file

@ -222,8 +222,6 @@ bool CDStarControl::writeModem(unsigned char *data)
if (m_rfN == 0U)
CSync::addDStarSync(data + 1U);
m_rfN = (m_rfN + 1U) % 21U;
LogDebug("D-Star, audio sequence no. %u, errs: %u/48", m_rfN, errors);
if (m_net)
@ -233,6 +231,8 @@ bool CDStarControl::writeModem(unsigned char *data)
blankDTMF(data + 1U);
writeQueueDataRF(data);
}
m_rfN = (m_rfN + 1U) % 21U;
} else if (m_rfState == RS_RF_LATE_ENTRY) {
// The sync is regenerated by the modem so can do exact match
if (::memcmp(data + 1U + DSTAR_VOICE_FRAME_LENGTH_BYTES, DSTAR_SYNC_BYTES, DSTAR_DATA_FRAME_LENGTH_BYTES) == 0) {
@ -321,8 +321,6 @@ bool CDStarControl::writeModem(unsigned char *data)
m_rfErrs += errors;
m_rfBits += 48U;
m_rfN = (m_rfN + 1U) % 21U;
LogDebug("D-Star, audio sequence no. %u, errs: %u/48", m_rfN, errors);
if (m_net)
@ -335,6 +333,8 @@ bool CDStarControl::writeModem(unsigned char *data)
m_rfState = RS_RF_AUDIO;
m_rfN = (m_rfN + 1U) % 21U;
if (m_netState == RS_NET_IDLE)
m_display->writeDStar((char*)my1, (char*)my2, (char*)your);