Fix minor counting bugs.

This commit is contained in:
Jonathan Naylor 2016-04-21 19:57:27 +01:00
parent 1d9f4dc29e
commit 0a0534de7b
2 changed files with 11 additions and 7 deletions

View file

@ -106,10 +106,10 @@ bool CYSFControl::writeModem(unsigned char *data)
::memcpy(orig, data + 2U, YSF_FRAME_LENGTH_BYTES);
fich.encode(data + 2U);
valid = m_payload.processHeader(data + 2U);
// valid = m_payload.processHeader(data + 2U);
unsigned int errs = calculateBER(orig, data + 2U);
LogDebug("YSF, FI=%u FN=%u FT=%u DT=%u BER=%.1f%%", fi, fn, ft, dt, float(errs) / 9.6F);
LogDebug("YSF, FI=%u FN=%u FT=%u DT=%u BER=%.1f%%", fi, fn, ft, dt, float(errs) / 2.4F);
if (m_duplex) {
fich.setMR(YSF_MR_BUSY);
@ -162,10 +162,10 @@ bool CYSFControl::writeModem(unsigned char *data)
::memcpy(orig, data + 2U, YSF_FRAME_LENGTH_BYTES);
fich.encode(data + 2U);
m_payload.processTrailer(data + 2U);
// m_payload.processTrailer(data + 2U);
unsigned int errs = calculateBER(orig, data + 2U);
LogDebug("YSF, FI=%u FN=%u FT=%u DT=%u BER=%.1f%%", fi, fn, ft, dt, float(errs) / 9.6F);
LogDebug("YSF, FI=%u FN=%u FT=%u DT=%u BER=%.1f%%", fi, fn, ft, dt, float(errs) / 2.4F);
m_frames++;
@ -207,10 +207,10 @@ bool CYSFControl::writeModem(unsigned char *data)
::memcpy(orig, data + 2U, YSF_FRAME_LENGTH_BYTES);
fich.encode(data + 2U);
m_payload.processData(data + 2U, fn, dt);
// m_payload.processData(data + 2U, fn, dt);
unsigned int errs = calculateBER(orig, data + 2U);
LogDebug("YSF, FI=%u FN=%u FT=%u DT=%u BER=%.1f%%", fi, fn, ft, dt, float(errs) / 9.6F);
LogDebug("YSF, FI=%u FN=%u FT=%u DT=%u BER=%.1f%%", fi, fn, ft, dt, float(errs) / 2.4F);
bool change = false;
@ -426,7 +426,7 @@ unsigned int CYSFControl::calculateBER(const unsigned char* orig, const unsigned
{
unsigned int errors = 0U;
for (unsigned int i = 0U; i < YSF_FRAME_LENGTH_BYTES; i++) {
for (unsigned int i = 0U; i < (YSF_SYNC_LENGTH_BYTES + YSF_FICH_LENGTH_BYTES); i++) {
unsigned char v = orig[i] ^ curr[i];
while (v != 0U) {
v &= v - 1U;

View file

@ -116,6 +116,8 @@ void CYSFPayload::processData(unsigned char* bytes, unsigned char fn, unsigned c
bool CYSFPayload::processHeader(unsigned char* data)
{
data += YSF_SYNC_LENGTH_BYTES + YSF_FICH_LENGTH_BYTES;
unsigned char dch[45U];
unsigned char* p1 = data;
@ -236,6 +238,8 @@ bool CYSFPayload::processHeader(unsigned char* data)
void CYSFPayload::processTrailer(unsigned char* data)
{
data += YSF_SYNC_LENGTH_BYTES + YSF_FICH_LENGTH_BYTES;
unsigned char dch[45U];
unsigned char* p1 = data;