diff --git a/YSFControl.cpp b/YSFControl.cpp index 5d6b83a..71c8380 100644 --- a/YSFControl.cpp +++ b/YSFControl.cpp @@ -97,19 +97,10 @@ bool CYSFControl::writeModem(unsigned char *data) if (m_state != RS_RF_AUDIO) return false; - unsigned char orig[YSF_FRAME_LENGTH_BYTES]; - ::memcpy(orig, data + 2U, YSF_FRAME_LENGTH_BYTES); - unsigned char fi = fich.getFI(); if (valid && fi == YSF_FI_HEADER) { CSync::addYSFSync(data + 2U); - fich.encode(data + 2U); - - unsigned int errs = calculateBER(orig, data + 2U, YSF_SYNC_LENGTH_BYTES + YSF_FICH_LENGTH_BYTES); - m_errs += errs; - m_bits += 240U; - m_frames++; valid = m_payload.processHeaderData(data + 2U); @@ -158,12 +149,6 @@ bool CYSFControl::writeModem(unsigned char *data) } else if (valid && fi == YSF_FI_TERMINATOR) { CSync::addYSFSync(data + 2U); - fich.encode(data + 2U); - - unsigned int errs = calculateBER(orig, data + 2U, YSF_SYNC_LENGTH_BYTES + YSF_FICH_LENGTH_BYTES); - m_errs += errs; - m_bits += 240U; - m_frames++; m_payload.processHeaderData(data + 2U); @@ -201,12 +186,6 @@ bool CYSFControl::writeModem(unsigned char *data) unsigned char ft = fich.getFT(); unsigned char dt = fich.getDT(); - fich.encode(data + 2U); - - unsigned int errs = calculateBER(orig, data + 2U, YSF_SYNC_LENGTH_BYTES + YSF_FICH_LENGTH_BYTES); - m_errs += errs; - m_bits += 240U; - m_frames++; switch (dt) { @@ -298,11 +277,6 @@ bool CYSFControl::writeModem(unsigned char *data) } else { CSync::addYSFSync(data + 2U); - // Only calculate the BER on the sync word - unsigned int errs = calculateBER(orig, data + 2U, YSF_SYNC_LENGTH_BYTES); - m_errs += errs; - m_bits += 40U; - m_frames++; if (m_duplex) { @@ -452,18 +426,3 @@ void CYSFControl::closeFile() m_fp = NULL; } } - -unsigned int CYSFControl::calculateBER(const unsigned char* orig, const unsigned char *curr, unsigned int length) const -{ - unsigned int errors = 0U; - - for (unsigned int i = 0U; i < length; i++) { - unsigned char v = orig[i] ^ curr[i]; - while (v != 0U) { - v &= v - 1U; - errors++; - } - } - - return errors; -} diff --git a/YSFControl.h b/YSFControl.h index c25b279..f819ca5 100644 --- a/YSFControl.h +++ b/YSFControl.h @@ -66,8 +66,6 @@ private: bool openFile(); bool writeFile(const unsigned char* data); void closeFile(); - - unsigned int calculateBER(const unsigned char* orig, const unsigned char* curr, unsigned int length) const; }; #endif diff --git a/YSFFICH.cpp b/YSFFICH.cpp index b07721a..bc90117 100644 --- a/YSFFICH.cpp +++ b/YSFFICH.cpp @@ -184,12 +184,6 @@ unsigned char CYSFFICH::getDT() const return m_fich[2U] & 0x03U; } -void CYSFFICH::setFI(unsigned char fi) -{ - m_fich[0U] &= 0x3FU; - m_fich[0U] |= (fi << 6) & 0xC0U; -} - void CYSFFICH::setMR(unsigned char mr) { m_fich[2U] &= 0xC7U; diff --git a/YSFFICH.h b/YSFFICH.h index 6e8cbe5..33c35d0 100644 --- a/YSFFICH.h +++ b/YSFFICH.h @@ -34,7 +34,6 @@ public: unsigned char getFT() const; unsigned char getDT() const; - void setFI(unsigned char fi); void setMR(unsigned char mr); void setVoIP(bool set);