Clean up the YSF code a little more.

This commit is contained in:
Jonathan Naylor 2016-05-12 17:44:08 +01:00
parent 2701506c44
commit 55010aaaf6
4 changed files with 0 additions and 50 deletions

View file

@ -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;
}

View file

@ -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

View file

@ -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;

View file

@ -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);