Remobe AMBE regeneration on data packets.

This commit is contained in:
Jonathan Naylor 2016-10-05 07:42:41 +01:00
parent cb07423092
commit 51c742ea7f
3 changed files with 16 additions and 3 deletions

View File

@ -235,7 +235,9 @@ bool CDStarControl::writeModem(unsigned char *data, unsigned int len)
return false;
} else if (m_rfState == RS_RF_AUDIO) {
unsigned int errors = m_fec.regenerateDStar(data + 1U);
unsigned int errors = 0U;
if (!m_rfHeader.isDataPacket())
errors = m_fec.regenerateDStar(data + 1U);
m_rfErrs += errors;
m_rfBits += 48U;
@ -354,7 +356,9 @@ bool CDStarControl::writeModem(unsigned char *data, unsigned int len)
delete header;
unsigned int errors = m_fec.regenerateDStar(data + 1U);
unsigned int errors = 0U;
if (!m_rfHeader.isDataPacket())
errors = m_fec.regenerateDStar(data + 1U);
m_rfErrs += errors;
m_rfBits += 48U;
@ -529,7 +533,9 @@ void CDStarControl::writeNetwork()
unsigned char n = data[1U];
unsigned int errors = m_fec.regenerateDStar(data + 2U);
unsigned int errors = 0U;
if (!m_netHeader.isDataPacket())
errors = m_fec.regenerateDStar(data + 2U);
blankDTMF(data + 2U);

View File

@ -72,6 +72,11 @@ void CDStarHeader::setRepeater(bool on)
m_header[0U] &= ~DSTAR_REPEATER_MASK;
}
bool CDStarHeader::isDataPacket() const
{
return (m_header[0U] & DSTAR_DATA_MASK) == DSTAR_DATA_MASK;
}
void CDStarHeader::setUnavailable(bool on)
{
if (on)

View File

@ -28,6 +28,8 @@ public:
bool isRepeater() const;
void setRepeater(bool on);
bool isDataPacket() const;
void setUnavailable(bool on);
void getMyCall1(unsigned char* call1) const;