From 941f57b68abdb88d7377e6808dc6111e9c29336c Mon Sep 17 00:00:00 2001 From: Bryan Biedenkapp Date: Mon, 18 Dec 2023 11:58:45 -0500 Subject: [PATCH] correct NXDN IF bandwidth to 12.5khz; compress debug messages; --- ADF7021.cpp | 2 +- CWIdTX.cpp | 2 +- IO.cpp | 8 +++---- SerialPort.cpp | 54 +++++++++++++++++++++++------------------------ dmr/DMRDMORX.cpp | 37 ++++++++++++++++---------------- dmr/DMRDMOTX.cpp | 3 +-- dmr/DMRIdleRX.cpp | 2 +- dmr/DMRSlotRX.cpp | 36 +++++++++++++++---------------- dmr/DMRTX.cpp | 6 ++---- nxdn/NXDNRX.cpp | 27 +++++++++++++----------- nxdn/NXDNTX.cpp | 6 ++---- p25/P25RX.cpp | 46 ++++++++++++++++++++-------------------- p25/P25TX.cpp | 6 ++---- 13 files changed, 115 insertions(+), 120 deletions(-) diff --git a/ADF7021.cpp b/ADF7021.cpp index 0991779..0229066 100644 --- a/ADF7021.cpp +++ b/ADF7021.cpp @@ -1283,7 +1283,7 @@ void IO::configureTxRx(DVM_STATE modemState) ADF7021_REG4 |= (uint32_t)ADF7021_REG4_INV_CLKDAT << 8; // Clock/Data Inversion ADF7021_REG4 |= (uint32_t)(nxdnDiscBW & 0x3FFU) << 10; // Discriminator BW ADF7021_REG4 |= (uint32_t)(nxdnPostBW & 0xFFFU) << 20; // Post Demod BW - ADF7021_REG4 |= (uint32_t)ADF7021_REG4_IF_1875K << 30; // IF Filter + ADF7021_REG4 |= (uint32_t)ADF7021_REG4_IF_125K << 30; // IF Filter /* ** 3FSK/4FSK Demod (Register 13) diff --git a/CWIdTX.cpp b/CWIdTX.cpp index 9c97ed8..fb547f2 100644 --- a/CWIdTX.cpp +++ b/CWIdTX.cpp @@ -187,7 +187,7 @@ uint8_t CWIdTX::write(const uint8_t* data, uint8_t length) m_poLen += 5U; - DEBUG2("CWIdTx: write(): message created with length", m_poLen); + DEBUG2("CWIdTx::write() message length", m_poLen); return RSN_OK; } diff --git a/IO.cpp b/IO.cpp index 952e3e0..7b63719 100644 --- a/IO.cpp +++ b/IO.cpp @@ -135,7 +135,7 @@ void IO::process() if (m_cwIdState) { // check for CW ID end of transmission m_cwIdState = false; - DEBUG2("IO::process(): setting modem state", m_modemState); + DEBUG2("IO::process() setting modem state", m_modemState); io.rf1Conf(m_modemState, true); } @@ -230,10 +230,10 @@ void IO::setMode(DVM_STATE modemState) relativeState = serial.calRelativeState(modemState); } - DEBUG3("IO::setMode(): setting modem state", modemState, relativeState); + DEBUG3("IO::setMode() setting modem state", modemState, relativeState); rf1Conf(relativeState, true); - DEBUG4("IO::setMode(): setting lights", relativeState == STATE_DMR, relativeState == STATE_P25, relativeState == STATE_NXDN); + DEBUG4("IO::setMode() setting lights", relativeState == STATE_DMR, relativeState == STATE_P25, relativeState == STATE_NXDN); setDMRInt(relativeState == STATE_DMR); setP25Int(relativeState == STATE_P25); setNXDNInt(relativeState == STATE_NXDN); @@ -300,7 +300,7 @@ uint8_t IO::setRFParams(uint32_t rxFreq, uint32_t txFreq, uint8_t rfPower, ADF_G m_rxFrequency = rxFreq; m_txFrequency = txFreq; - DEBUG5("IO::setRFParams(): setting RF params", m_rxFrequency, m_txFrequency, m_rfPower, m_gainMode); + DEBUG5("IO::setRFParams() setting RF params", m_rxFrequency, m_txFrequency, m_rfPower, m_gainMode); return RSN_OK; } diff --git a/SerialPort.cpp b/SerialPort.cpp index a81e8a5..ebbc428 100644 --- a/SerialPort.cpp +++ b/SerialPort.cpp @@ -155,7 +155,7 @@ void SerialPort::process() sendACK(); } else { - DEBUG2("SerialPort: process(): received invalid calibration data", err); + DEBUG2("SerialPort::process() received invalid calibration data", err); sendNAK(err); } break; @@ -170,7 +170,7 @@ void SerialPort::process() sendACK(); } else { - DEBUG2("SerialPort: process(): received invalid data to write to flash", err); + DEBUG2("SerialPort::process() received invalid data to write to flash", err); sendNAK(err); } break; @@ -181,7 +181,7 @@ void SerialPort::process() sendACK(); } else { - DEBUG2("SerialPort: process(): received invalid data to set buffers", err); + DEBUG2("SerialPort::process() received invalid data to set buffers", err); sendNAK(err); } break; @@ -192,13 +192,13 @@ void SerialPort::process() if (m_modemState == STATE_IDLE) { m_cwIdState = true; - DEBUG2("SerialPort: process(): setting modem state", STATE_CW); + DEBUG2("SerialPort::process() setting modem state", STATE_CW); io.rf1Conf(STATE_CW, true); err = cwIdTX.write(m_buffer + 3U, m_len - 3U); } if (err != RSN_OK) { - DEBUG2("SerialPort: process(): invalid CW Id data", err); + DEBUG2("SerialPort::process() invalid CW Id data", err); sendNAK(err); } break; @@ -217,7 +217,7 @@ void SerialPort::process() setMode(STATE_DMR); } else { - DEBUG2("SerialPort: process() received invalid DMR data", err); + DEBUG2("SerialPort::process() received invalid DMR data", err); sendNAK(err); } #else @@ -243,7 +243,7 @@ void SerialPort::process() setMode(STATE_DMR); } else { - DEBUG2("SerialPort: process(): received invalid DMR data", err); + DEBUG2("SerialPort::process() received invalid DMR data", err); sendNAK(err); } break; @@ -266,7 +266,7 @@ void SerialPort::process() } } if (err != RSN_OK) { - DEBUG3("SerialPort: process(): received invalid DMR start", err, m_len); + DEBUG3("SerialPort::process() received invalid DMR start", err, m_len); sendNAK(err); } #else @@ -279,7 +279,7 @@ void SerialPort::process() if (m_dmrEnable) err = dmrTX.writeShortLC(m_buffer + 3U, m_len - 3U); if (err != RSN_OK) { - DEBUG2("SerialPort: process(): received invalid DMR Short LC", err); + DEBUG2("SerialPort::process() received invalid DMR Short LC", err); sendNAK(err); } #else @@ -292,7 +292,7 @@ void SerialPort::process() if (m_dmrEnable) err = dmrTX.writeAbort(m_buffer + 3U, m_len - 3U); if (err != RSN_OK) { - DEBUG2("SerialPort: process(): received invalid DMR Abort", err); + DEBUG2("SerialPort::process() received invalid DMR Abort", err); sendNAK(err); } #else @@ -310,7 +310,7 @@ void SerialPort::process() } } if (err != RSN_OK) { - DEBUG2("SerialPort: process(): received invalid DMR CACH AT Control", err); + DEBUG2("SerialPort::process() received invalid DMR CACH AT Control", err); sendNAK(err); } #else @@ -351,7 +351,7 @@ void SerialPort::process() setMode(STATE_P25); } else { - DEBUG2("SerialPort: process(): Received invalid P25 data", err); + DEBUG2("SerialPort::process() received invalid P25 data", err); sendNAK(err); } break; @@ -374,7 +374,7 @@ void SerialPort::process() setMode(STATE_NXDN); } else { - DEBUG2("SerialPort: process(): Received invalid NXDN data", err); + DEBUG2("SerialPort::process() received invalid NXDN data", err); sendNAK(err); } break; @@ -1061,12 +1061,12 @@ uint8_t SerialPort::setConfig(const uint8_t* data, uint8_t length) #if !defined(DUPLEX) if (m_duplex) { - DEBUG1("Full duplex not supported with this firmware"); + DEBUG1("SerialPort::setConfig() Full duplex not supported with this firmware"); return RSN_INVALID_REQUEST; } #elif defined(DUPLEX) && (defined(ZUMSPOT_ADF7021) || defined(LONESTAR_USB) || defined(SKYBRIDGE_HS)) if (io.isDualBand() && m_duplex) { - DEBUG1("Full duplex is not supported on this board"); + DEBUG1("SerialPort::setConfig() Full duplex is not supported on this board"); return RSN_INVALID_REQUEST; } #endif @@ -1132,13 +1132,13 @@ void SerialPort::setMode(DVM_STATE modemState) { switch (modemState) { case STATE_DMR: - DEBUG1("SerialPort: setMode(): mode set to DMR"); + DEBUG1("SerialPort::setMode() mode set to DMR"); p25RX.reset(); nxdnRX.reset(); cwIdTX.reset(); break; case STATE_P25: - DEBUG1("SerialPort: setMode(): mode set to P25"); + DEBUG1("SerialPort::setMode() mode set to P25"); #if defined(DUPLEX) dmrIdleRX.reset(); dmrRX.reset(); @@ -1148,7 +1148,7 @@ void SerialPort::setMode(DVM_STATE modemState) cwIdTX.reset(); break; case STATE_NXDN: - DEBUG1("SerialPort: setMode(): mode set to NXDN"); + DEBUG1("SerialPort::setMode() mode set to NXDN"); #if defined(DUPLEX) dmrIdleRX.reset(); dmrRX.reset(); @@ -1158,7 +1158,7 @@ void SerialPort::setMode(DVM_STATE modemState) cwIdTX.reset(); break; case STATE_DMR_CAL: - DEBUG1("SerialPort: setMode(): mode set to DMR Calibrate"); + DEBUG1("SerialPort::setMode() mode set to DMR Calibrate"); #if defined(DUPLEX) dmrIdleRX.reset(); dmrRX.reset(); @@ -1169,7 +1169,7 @@ void SerialPort::setMode(DVM_STATE modemState) cwIdTX.reset(); break; case STATE_P25_CAL: - DEBUG1("SerialPort: setMode(): mode set to P25 Calibrate"); + DEBUG1("SerialPort::setMode() mode set to P25 Calibrate"); #if defined(DUPLEX) dmrIdleRX.reset(); dmrRX.reset(); @@ -1180,7 +1180,7 @@ void SerialPort::setMode(DVM_STATE modemState) cwIdTX.reset(); break; case STATE_NXDN_CAL: - DEBUG1("SerialPort: setMode(): mode set to NXDN Calibrate"); + DEBUG1("SerialPort::setMode() mode set to NXDN Calibrate"); #if defined(DUPLEX) dmrIdleRX.reset(); dmrRX.reset(); @@ -1191,7 +1191,7 @@ void SerialPort::setMode(DVM_STATE modemState) cwIdTX.reset(); break; case STATE_RSSI_CAL: - DEBUG1("SerialPort: setMode(): mode set to RSSI Calibrate"); + DEBUG1("SerialPort::setMode() mode set to RSSI Calibrate"); #if defined(DUPLEX) dmrIdleRX.reset(); dmrRX.reset(); @@ -1202,7 +1202,7 @@ void SerialPort::setMode(DVM_STATE modemState) cwIdTX.reset(); break; case STATE_DMR_LF_CAL: - DEBUG1("SerialPort: setMode(): mode set to DMR 80Hz Calibrate"); + DEBUG1("SerialPort::setMode() mode set to DMR 80Hz Calibrate"); #if defined(DUPLEX) dmrIdleRX.reset(); dmrRX.reset(); @@ -1213,7 +1213,7 @@ void SerialPort::setMode(DVM_STATE modemState) cwIdTX.reset(); break; case STATE_DMR_CAL_1K: - DEBUG1("SerialPort: setMode(): mode set to DMR BS 1031Hz Calibrate"); + DEBUG1("SerialPort::setMode() mode set to DMR BS 1031Hz Calibrate"); #if defined(DUPLEX) dmrIdleRX.reset(); dmrRX.reset(); @@ -1224,7 +1224,7 @@ void SerialPort::setMode(DVM_STATE modemState) cwIdTX.reset(); break; case STATE_DMR_DMO_CAL_1K: - DEBUG1("SerialPort: setMode(): mode set to DMR MS 1031Hz Calibrate"); + DEBUG1("SerialPort::setMode() mode set to DMR MS 1031Hz Calibrate"); #if defined(DUPLEX) dmrIdleRX.reset(); dmrRX.reset(); @@ -1235,7 +1235,7 @@ void SerialPort::setMode(DVM_STATE modemState) cwIdTX.reset(); break; case STATE_P25_CAL_1K: - DEBUG1("SerialPort: setMode(): mode set to P25 1011Hz Calibrate"); + DEBUG1("SerialPort::setMode() mode set to P25 1011Hz Calibrate"); #if defined(DUPLEX) dmrIdleRX.reset(); dmrRX.reset(); @@ -1246,7 +1246,7 @@ void SerialPort::setMode(DVM_STATE modemState) cwIdTX.reset(); break; default: - DEBUG1("SerialPort: setMode(): mode set to Idle"); + DEBUG1("SerialPort::setMode() mode set to Idle"); // STATE_IDLE break; } diff --git a/dmr/DMRDMORX.cpp b/dmr/DMRDMORX.cpp index 1f18862..bf3dc2c 100644 --- a/dmr/DMRDMORX.cpp +++ b/dmr/DMRDMORX.cpp @@ -141,7 +141,7 @@ void DMRDMORX::databit(bool bit) switch (dataType) { case DT_DATA_HEADER: - DEBUG2("DMRDMORX: databit(): data header found pos", m_syncPtr); + DEBUG2("DMRDMORX::databit() data header found pos", m_syncPtr); writeRSSIData(frame); m_state = DMORXS_DATA; m_type = 0x00U; @@ -150,32 +150,32 @@ void DMRDMORX::databit(bool bit) case DT_RATE_34_DATA: case DT_RATE_1_DATA: if (m_state == DMORXS_DATA) { - DEBUG2("DMRDMORX: databit(): data payload found pos", m_syncPtr); + DEBUG2("DMRDMORX::databit() data payload found pos", m_syncPtr); writeRSSIData(frame); m_type = dataType; } break; case DT_VOICE_LC_HEADER: - DEBUG2("DMRDMORX: databit(): voice header found pos", m_syncPtr); + DEBUG2("DMRDMORX::databit() voice header found pos", m_syncPtr); writeRSSIData(frame); m_state = DMORXS_VOICE; break; case DT_VOICE_PI_HEADER: if (m_state == DMORXS_VOICE) { - DEBUG2("DMRDMORX: databit(): voice pi header found pos", m_syncPtr); + DEBUG2("DMRDMORX::databit() voice pi header found pos", m_syncPtr); writeRSSIData(frame); } m_state = DMORXS_VOICE; break; case DT_TERMINATOR_WITH_LC: if (m_state == DMORXS_VOICE) { - DEBUG2("DMRDMORX: databit(): voice terminator found pos", m_syncPtr); + DEBUG2("DMRDMORX::databit() voice terminator found pos", m_syncPtr); writeRSSIData(frame); reset(); } break; default: // DT_CSBK - DEBUG2("DMRDMORX: databit(): csbk found pos", m_syncPtr); + DEBUG2("DMRDMORX::databit() csbk found pos", m_syncPtr); writeRSSIData(frame); reset(); break; @@ -184,7 +184,7 @@ void DMRDMORX::databit(bool bit) } else if (m_control == CONTROL_VOICE) { // Voice sync - DEBUG2("DMRDMORX: databit(): voice sync found pos", m_syncPtr); + DEBUG2("DMRDMORX::databit() voice sync found pos", m_syncPtr); writeRSSIData(frame); m_state = DMORXS_VOICE; @@ -195,7 +195,7 @@ void DMRDMORX::databit(bool bit) if (m_state != DMORXS_NONE) { m_syncCount++; if (m_syncCount >= MAX_SYNC_LOST_FRAMES) { - DEBUG1("DMRDMORX: databit(): sync timeout, lost lock"); + DEBUG1("DMRDMORX::databit() sync timeout, lost lock"); serial.writeDMRLost(true); reset(); } @@ -265,11 +265,11 @@ void DMRDMORX::correlateSync() for (uint8_t i = 0U; i < DMR_SYNC_BYTES_LENGTH; i++) errs += countBits8((sync[i] & DMR_SYNC_BYTES_MASK[i]) ^ DMR_MS_DATA_SYNC_BYTES[i]); - DEBUG2("DMRDMORX: correlateSync(): correlateSync errs", errs); + DEBUG2("DMRDMORX::correlateSync() sync errs", errs); - DEBUG4("DMRDMORX: correlateSync(): sync [b0 - b2]", sync[0], sync[1], sync[2]); - DEBUG4("DMRDMORX: correlateSync(): sync [b3 - b5]", sync[3], sync[4], sync[5]); - DEBUG2("DMRDMORX: correlateSync(): sync [b6]", sync[6]); + DEBUG4("DMRDMORX::correlateSync() sync [b0 - b2]", sync[0], sync[1], sync[2]); + DEBUG4("DMRDMORX::correlateSync() sync [b3 - b5]", sync[3], sync[4], sync[5]); + DEBUG2("DMRDMORX::correlateSync() sync [b6]", sync[6]); m_control = CONTROL_DATA; m_syncPtr = m_dataPtr; @@ -282,18 +282,18 @@ void DMRDMORX::correlateSync() if (m_endPtr >= DMO_BUFFER_LENGTH_BITS) m_endPtr -= DMO_BUFFER_LENGTH_BITS; - DEBUG4("DMRDMORX: correlateSync(): dataPtr/startPtr/endPtr", m_dataPtr, m_startPtr, m_endPtr); + DEBUG4("DMRDMORX::correlateSync() dataPtr/startPtr/endPtr", m_dataPtr, m_startPtr, m_endPtr); } else if ((countBits64((m_bitBuffer & DMR_SYNC_BITS_MASK) ^ DMR_MS_VOICE_SYNC_BITS) <= MAX_SYNC_BYTES_ERRS) || (countBits64((m_bitBuffer & DMR_SYNC_BITS_MASK) ^ DMR_S2_VOICE_SYNC_BITS) <= MAX_SYNC_BYTES_ERRS)) { uint8_t errs = 0U; for (uint8_t i = 0U; i < DMR_SYNC_BYTES_LENGTH; i++) errs += countBits8((sync[i] & DMR_SYNC_BYTES_MASK[i]) ^ DMR_MS_VOICE_SYNC_BYTES[i]); - DEBUG2("DMRDMORX: correlateSync(): correlateSync errs", errs); + DEBUG2("DMRDMORX::correlateSync() correlateSync errs", errs); - DEBUG4("DMRDMORX: correlateSync(): sync [b0 - b2]", sync[0], sync[1], sync[2]); - DEBUG4("DMRDMORX: correlateSync(): sync [b3 - b5]", sync[3], sync[4], sync[5]); - DEBUG2("DMRDMORX: correlateSync(): sync [b6]", sync[6]); + DEBUG4("DMRDMORX::correlateSync() sync [b0 - b2]", sync[0], sync[1], sync[2]); + DEBUG4("DMRDMORX::correlateSync() sync [b3 - b5]", sync[3], sync[4], sync[5]); + DEBUG2("DMRDMORX::correlateSync() sync [b6]", sync[6]); m_control = CONTROL_VOICE; m_syncPtr = m_dataPtr; @@ -306,7 +306,7 @@ void DMRDMORX::correlateSync() if (m_endPtr >= DMO_BUFFER_LENGTH_BITS) m_endPtr -= DMO_BUFFER_LENGTH_BITS; - DEBUG4("DMRDMORX: correlateSync(): dataPtr/startPtr/endPtr", m_dataPtr, m_startPtr, m_endPtr); + DEBUG4("DMRDMORX::correlateSync() dataPtr/startPtr/endPtr", m_dataPtr, m_startPtr, m_endPtr); } } @@ -379,4 +379,3 @@ void DMRDMORX::writeRSSIData(uint8_t* frame) serial.writeDMRData(true, frame, DMR_FRAME_LENGTH_BYTES + 1U); #endif } - diff --git a/dmr/DMRDMOTX.cpp b/dmr/DMRDMOTX.cpp index 353a5e5..187e69d 100644 --- a/dmr/DMRDMOTX.cpp +++ b/dmr/DMRDMOTX.cpp @@ -85,7 +85,6 @@ void DMRDMOTX::process() m_poLen = 72U; } - DEBUG2("DMRDMOTX: process(): poLen", m_poLen); m_poPtr = 0U; } @@ -120,7 +119,7 @@ uint8_t DMRDMOTX::writeData(const uint8_t* data, uint8_t length) return RSN_ILLEGAL_LENGTH; uint16_t space = m_fifo.getSpace(); - DEBUG3("DMRDMOTX: writeData(): dataLength/fifoLength", length, space); + DEBUG3("DMRDMOTX::writeData() dataLength/fifoLength", length, space); if (space < DMR_FRAME_LENGTH_BYTES) return RSN_RINGBUFF_FULL; diff --git a/dmr/DMRIdleRX.cpp b/dmr/DMRIdleRX.cpp index 29be454..81a9593 100644 --- a/dmr/DMRIdleRX.cpp +++ b/dmr/DMRIdleRX.cpp @@ -91,7 +91,7 @@ void DMRIdleRX::databit(bool bit) if (m_endPtr >= DMR_IDLE_LENGTH_BITS) m_endPtr -= DMR_IDLE_LENGTH_BITS; - DEBUG3("DMRIdleRx: databit(): dataPtr/endPtr", m_dataPtr, m_endPtr); + DEBUG3("DMRIdleRx::databit() dataPtr/endPtr", m_dataPtr, m_endPtr); } if (m_dataPtr == m_endPtr) { diff --git a/dmr/DMRSlotRX.cpp b/dmr/DMRSlotRX.cpp index 2c6cf96..d152fd7 100644 --- a/dmr/DMRSlotRX.cpp +++ b/dmr/DMRSlotRX.cpp @@ -166,7 +166,7 @@ bool DMRSlotRX::databit(bool bit) switch (dataType) { case DT_DATA_HEADER: - DEBUG3("DMRSlotRX: databit(): data header found slot/pos", m_slot ? 2U : 1U, m_syncPtr); + DEBUG3("DMRSlotRX::databit() data header found slot/pos", m_slot ? 2U : 1U, m_syncPtr); writeRSSIData(frame); m_state = DMRRXS_DATA; m_type = 0x00U; @@ -175,33 +175,33 @@ bool DMRSlotRX::databit(bool bit) case DT_RATE_34_DATA: case DT_RATE_1_DATA: if (m_state == DMRRXS_DATA) { - DEBUG3("DMRSlotRX: databit(): data payload found slot/pos", m_slot ? 2U : 1U, m_syncPtr); + DEBUG3("DMRSlotRX::databit() data payload found slot/pos", m_slot ? 2U : 1U, m_syncPtr); writeRSSIData(frame); m_type = dataType; } break; case DT_VOICE_LC_HEADER: - DEBUG3("DMRSlotRX: databit(): voice header found slot/pos", m_slot ? 2U : 1U, m_syncPtr); + DEBUG3("DMRSlotRX::databit() voice header found slot/pos", m_slot ? 2U : 1U, m_syncPtr); writeRSSIData(frame); m_state = DMRRXS_VOICE; break; case DT_VOICE_PI_HEADER: if (m_state == DMRRXS_VOICE) { - DEBUG3("DMRSlotRX: databit(): voice pi header found slot/pos", m_slot ? 2U : 1U, m_syncPtr); + DEBUG3("DMRSlotRX::databit() voice pi header found slot/pos", m_slot ? 2U : 1U, m_syncPtr); writeRSSIData(frame); } m_state = DMRRXS_VOICE; break; case DT_TERMINATOR_WITH_LC: if (m_state == DMRRXS_VOICE) { - DEBUG3("DMRSlotRX: databit(): voice terminator found slot/pos", m_slot ? 2U : 1U, m_syncPtr); + DEBUG3("DMRSlotRX::databit() voice terminator found slot/pos", m_slot ? 2U : 1U, m_syncPtr); writeRSSIData(frame); m_state = DMRRXS_NONE; m_endPtr = NOENDPTR; } break; default: // DT_CSBK - DEBUG3("DMRSlotRX: databit(): csbk found slot/pos", m_slot ? 2U : 1U, m_syncPtr); + DEBUG3("DMRSlotRX::databit() csbk found slot/pos", m_slot ? 2U : 1U, m_syncPtr); writeRSSIData(frame); m_state = DMRRXS_NONE; m_endPtr = NOENDPTR; @@ -211,7 +211,7 @@ bool DMRSlotRX::databit(bool bit) } else if (m_control == CONTROL_VOICE) { // Voice sync - DEBUG3("DMRSlotRX: databit(): voice sync found slot/pos", m_slot ? 2U : 1U, m_syncPtr); + DEBUG3("DMRSlotRX::databit() voice sync found slot/pos", m_slot ? 2U : 1U, m_syncPtr); writeRSSIData(frame); m_state = DMRRXS_VOICE; m_syncCount = 0U; @@ -221,7 +221,7 @@ bool DMRSlotRX::databit(bool bit) if (m_state != DMRRXS_NONE) { m_syncCount++; if (m_syncCount >= MAX_SYNC_LOST_FRAMES) { - DEBUG1("DMRSlotRX: databit(): sync timeout, lost lock"); + DEBUG1("DMRSlotRX::databit() sync timeout, lost lock"); serial.writeDMRLost(m_slot); resetSlot(); } @@ -300,11 +300,11 @@ void DMRSlotRX::correlateSync() for (uint8_t i = 0U; i < DMR_SYNC_BYTES_LENGTH; i++) errs += countBits8((sync[i] & DMR_SYNC_BYTES_MASK[i]) ^ DMR_MS_DATA_SYNC_BYTES[i]); - DEBUG2("DMRSlotRX: correlateSync(): correlateSync errs", errs); + DEBUG2("DMRSlotRX::correlateSync() sync errs", errs); - DEBUG4("DMRSlotRX: correlateSync(): sync [b0 - b2]", sync[0], sync[1], sync[2]); - DEBUG4("DMRSlotRX: correlateSync(): sync [b3 - b5]", sync[3], sync[4], sync[5]); - DEBUG2("DMRSlotRX: correlateSync(): sync [b6]", sync[6]); + DEBUG4("DMRSlotRX::correlateSync() sync [b0 - b2]", sync[0], sync[1], sync[2]); + DEBUG4("DMRSlotRX::correlateSync() sync [b3 - b5]", sync[3], sync[4], sync[5]); + DEBUG2("DMRSlotRX::correlateSync() sync [b6]", sync[6]); m_control = CONTROL_DATA; m_syncPtr = m_dataPtr; @@ -317,17 +317,17 @@ void DMRSlotRX::correlateSync() if (m_endPtr >= DMR_BUFFER_LENGTH_BITS) m_endPtr -= DMR_BUFFER_LENGTH_BITS; - DEBUG4("DMRSlotRX: correlateSync(): dataPtr/startPtr/endPtr", m_dataPtr, m_startPtr, m_endPtr); + DEBUG4("DMRSlotRX::correlateSync() dataPtr/startPtr/endPtr", m_dataPtr, m_startPtr, m_endPtr); } else if (countBits64((m_bitBuffer & DMR_SYNC_BITS_MASK) ^ DMR_MS_VOICE_SYNC_BITS) <= MAX_SYNC_BYTES_ERRS) { uint8_t errs = 0U; for (uint8_t i = 0U; i < DMR_SYNC_BYTES_LENGTH; i++) errs += countBits8((sync[i] & DMR_SYNC_BYTES_MASK[i]) ^ DMR_MS_VOICE_SYNC_BYTES[i]); - DEBUG2("DMRSlotRX: correlateSync(): correlateSync errs", errs); + DEBUG2("DMRSlotRX::correlateSync() sync errs", errs); - DEBUG4("DMRSlotRX: correlateSync(): sync [b0 - b2]", sync[0], sync[1], sync[2]); - DEBUG4("DMRSlotRX: correlateSync(): sync [b3 - b5]", sync[3], sync[4], sync[5]); - DEBUG2("DMRSlotRX: correlateSync(): sync [b6]", sync[6]); + DEBUG4("DMRSlotRX::correlateSync() sync [b0 - b2]", sync[0], sync[1], sync[2]); + DEBUG4("DMRSlotRX::correlateSync() sync [b3 - b5]", sync[3], sync[4], sync[5]); + DEBUG2("DMRSlotRX::correlateSync() sync [b6]", sync[6]); m_control = CONTROL_VOICE; m_syncPtr = m_dataPtr; @@ -340,7 +340,7 @@ void DMRSlotRX::correlateSync() if (m_endPtr >= DMR_BUFFER_LENGTH_BITS) m_endPtr -= DMR_BUFFER_LENGTH_BITS; - DEBUG4("DMRSlotRX: correlateSync(): dataPtr/startPtr/endPtr", m_dataPtr, m_startPtr, m_endPtr); + DEBUG4("DMRSlotRX::correlateSync() dataPtr/startPtr/endPtr", m_dataPtr, m_startPtr, m_endPtr); } } diff --git a/dmr/DMRTX.cpp b/dmr/DMRTX.cpp index 2ca0ccf..0f89648 100644 --- a/dmr/DMRTX.cpp +++ b/dmr/DMRTX.cpp @@ -131,8 +131,6 @@ void DMRTX::process() m_state = DMRTXSTATE_SLOT1; break; } - - DEBUG2("DMRTX: process(): poLen", m_poLen); } if (m_poLen > 0U) { @@ -168,7 +166,7 @@ uint8_t DMRTX::writeData1(const uint8_t* data, uint8_t length) return RSN_ILLEGAL_LENGTH; uint16_t space = m_fifo[0U].getSpace(); - DEBUG3("DMRTX: writeData1(): dataLength/fifoLength", length, space); + DEBUG3("DMRTX::writeData1() dataLength/fifoLength", length, space); if (space < DMR_FRAME_LENGTH_BYTES) return RSN_RINGBUFF_FULL; @@ -199,7 +197,7 @@ uint8_t DMRTX::writeData2(const uint8_t* data, uint8_t length) return RSN_ILLEGAL_LENGTH; uint16_t space = m_fifo[1U].getSpace(); - DEBUG3("DMRTX: writeData2(): dataLength/fifoLength", length, space); + DEBUG3("DMRTX::writeData2() dataLength/fifoLength", length, space); if (space < DMR_FRAME_LENGTH_BYTES) return RSN_RINGBUFF_FULL; diff --git a/nxdn/NXDNRX.cpp b/nxdn/NXDNRX.cpp index f5afc21..b5087e1 100644 --- a/nxdn/NXDNRX.cpp +++ b/nxdn/NXDNRX.cpp @@ -83,17 +83,16 @@ void NXDNRX::reset() /// void NXDNRX::databit(bool bit) { - m_bitBuffer <<= 1; - if (bit) - m_bitBuffer |= 0x01U; - if (m_state == NXDNRXS_DATA) { processData(bit); } else { + m_bitBuffer <<= 1; + if (bit) + m_bitBuffer |= 0x01U; + bool ret = correlateSync(true); if (ret) { - DEBUG2("NXDNRX: databit(): dataPtr", m_dataPtr); m_state = NXDNRXS_DATA; } @@ -111,6 +110,10 @@ void NXDNRX::databit(bool bit) /// void NXDNRX::processData(bool bit) { + m_bitBuffer <<= 1; + if (bit) + m_bitBuffer |= 0x01U; + _WRITE_BIT(m_buffer, m_dataPtr, bit); m_dataPtr++; @@ -120,7 +123,9 @@ void NXDNRX::processData(bool bit) // only search for a sync in the right place +-2 bits if (m_dataPtr >= (NXDN_FSW_LENGTH_BITS - 2U) && m_dataPtr <= (NXDN_FSW_LENGTH_BITS + 2U)) { - correlateSync(); + if (correlateSync()) { + DEBUG2("NXDNRX::processData() sync found pos", m_dataPtr - NXDN_FSW_LENGTH_BITS); + } } // process frame @@ -129,7 +134,7 @@ void NXDNRX::processData(bool bit) // we've not seen a data sync for too long, signal sync lost and change to NXDNRXS_NONE if (m_lostCount == 0U) { - DEBUG1("NXDNRX: processData(): sync timed out, lost lock"); + DEBUG1("NXDNRX::processData() sync timed out, lost lock"); io.setDecode(false); @@ -137,8 +142,6 @@ void NXDNRX::processData(bool bit) reset(); } else { - DEBUG2("NXDNRX: processData(): sync found pos", m_dataPtr); - m_outBuffer[0U] = m_lostCount == (MAX_FSW_FRAMES - 1U) ? 0x01U : 0x00U; // set sync flag serial.writeNXDNData(m_outBuffer, NXDN_FRAME_LENGTH_BYTES + 1U); @@ -164,7 +167,7 @@ bool NXDNRX::correlateSync(bool first) // fuzzy matching of the data sync bit sequence uint8_t errs = countBits64((m_bitBuffer & NXDN_FSW_BITS_MASK) ^ NXDN_FSW_BITS); if (errs <= maxErrs) { - DEBUG2("NXDNRX: correlateSync(): correlateSync errs", errs); + DEBUG2("NXDNRX::correlateSync() sync errs", errs); if (first) { // unpack sync bytes @@ -176,13 +179,13 @@ bool NXDNRX::correlateSync(bool first) for (uint8_t i = 0U; i < NXDN_FSW_BYTES_LENGTH; i++) m_buffer[i] = sync[i]; - DEBUG4("NXDNRX: correlateSync(): sync [b0 - b2]", m_buffer[0], m_buffer[1], m_buffer[2]); + DEBUG4("NXDNRX::correlateSync() sync [b0 - b2]", m_buffer[0], m_buffer[1], m_buffer[2]); } m_lostCount = MAX_FSW_FRAMES; m_dataPtr = NXDN_FSW_LENGTH_BITS; - DEBUG2("NXDNRX: correlateSync(): dataPtr", m_dataPtr); + DEBUG2("NXDNRX::correlateSync() dataPtr", m_dataPtr - NXDN_FSW_LENGTH_BITS); return true; } diff --git a/nxdn/NXDNTX.cpp b/nxdn/NXDNTX.cpp index 17415fb..d7302ee 100644 --- a/nxdn/NXDNTX.cpp +++ b/nxdn/NXDNTX.cpp @@ -91,8 +91,6 @@ void NXDNTX::process() return; createData(); - - DEBUG2("NXDNTX: process(): poLen", m_poLen); } if (m_poLen > 0U) { @@ -127,7 +125,7 @@ uint8_t NXDNTX::writeData(const uint8_t* data, uint16_t length) return RSN_ILLEGAL_LENGTH; uint16_t space = m_fifo.getSpace(); - DEBUG3("NXDNTX: writeData(): dataLength/fifoLength", length, space); + DEBUG3("NXDNTX::writeData() dataLength/fifoLength", length, space); if (space < NXDN_FRAME_LENGTH_BYTES) return RSN_RINGBUFF_FULL; @@ -212,7 +210,7 @@ void NXDNTX::createData() m_poBuffer[m_poLen++] = NXDN_PREAMBLE[2U]; } else { - DEBUG2("NXDNTX: createData(): fifoSpace", m_fifo.getSpace()); + DEBUG2("NXDNTX::createData() fifoSpace", m_fifo.getSpace()); for (uint8_t i = 0U; i < NXDN_FRAME_LENGTH_BYTES; i++) { m_poBuffer[m_poLen++] = m_fifo.get(); } diff --git a/p25/P25RX.cpp b/p25/P25RX.cpp index 57edb30..c9d1bd4 100644 --- a/p25/P25RX.cpp +++ b/p25/P25RX.cpp @@ -145,7 +145,7 @@ void P25RX::processBit(bool bit) { // process NID if (m_dataPtr == P25_SYNC_LENGTH_BITS + P25_NID_LENGTH_BITS + 1) { - DEBUG3("P25RX: processBit(): dataPtr/endPtr", m_dataPtr, m_endPtr); + DEBUG3("P25RX::processBit() dataPtr/endPtr", m_dataPtr, m_endPtr); if (!decodeNid()) { io.setDecode(false); @@ -157,13 +157,13 @@ void P25RX::processBit(bool bit) switch (m_duid) { case P25_DUID_HDU: { - DEBUG2("P25RX: processBit(): sync found in HDU pos", m_dataPtr); + DEBUG2("P25RX::processBit() sync found in HDU pos", m_dataPtr); m_endPtr = P25_HDU_FRAME_LENGTH_BITS; } break; case P25_DUID_TDU: { - DEBUG2("P25RX: processBit(): sync found in TDU pos", m_dataPtr); + DEBUG2("P25RX::processBit() sync found in TDU pos", m_dataPtr); m_endPtr = P25_TDU_FRAME_LENGTH_BITS; } break; @@ -173,7 +173,7 @@ void P25RX::processBit(bool bit) return; case P25_DUID_TSDU: { - DEBUG2("P25RX: processBit(): sync found in TSDU pos", m_dataPtr); + DEBUG2("P25RX::processBit() sync found in TSDU pos", m_dataPtr); m_endPtr = P25_TSDU_FRAME_LENGTH_BITS; } break; @@ -187,13 +187,13 @@ void P25RX::processBit(bool bit) return; case P25_DUID_TDULC: { - DEBUG2("P25RX: processBit(): sync found in TDULC pos", m_dataPtr); + DEBUG2("P25RX::processBit() sync found in TDULC pos", m_dataPtr); m_endPtr = P25_TDULC_FRAME_LENGTH_BITS; } break; default: { - DEBUG3("P25RX: processBit(): illegal DUID in NID", m_nac, m_duid); + DEBUG3("P25RX::processBit() illegal DUID in NID", m_nac, m_duid); reset(); } return; @@ -246,7 +246,7 @@ void P25RX::processVoice(bool bit) // process NID if (m_dataPtr == P25_SYNC_LENGTH_BITS + P25_NID_LENGTH_BITS + 1) { - DEBUG3("P25RX: processVoice(): dataPtr/endPtr", m_dataPtr, m_endPtr); + DEBUG3("P25RX::processVoice() dataPtr/endPtr", m_dataPtr, m_endPtr); if (!decodeNid()) { io.setDecode(false); @@ -258,7 +258,7 @@ void P25RX::processVoice(bool bit) switch (m_duid) { case P25_DUID_TDU: { - DEBUG2("P25RX: processVoice(): sync found in TDU pos", m_dataPtr); + DEBUG2("P25RX::processVoice() sync found in TDU pos", m_dataPtr); m_endPtr = P25_TDU_FRAME_LENGTH_BITS; } break; @@ -270,7 +270,7 @@ void P25RX::processVoice(bool bit) return; default: { - DEBUG3("P25RX: processVoice(): illegal DUID in NID", m_nac, m_duid); + DEBUG3("P25RX::processVoice() illegal DUID in NID", m_nac, m_duid); reset(); } return; @@ -281,7 +281,7 @@ void P25RX::processVoice(bool bit) // if we've reached the end pointer and the DUID is a TDU; send it if (m_dataPtr == m_endPtr && m_duid == P25_DUID_TDU) { - DEBUG2("P25RX: processVoice(): sync found in TDU pos", m_dataPtr); + DEBUG2("P25RX::processVoice() sync found in TDU pos", m_dataPtr); uint8_t frame[P25_TDU_FRAME_LENGTH_BYTES + 1U]; ::memcpy(frame + 1U, m_buffer, m_endPtr / 8U); @@ -301,7 +301,7 @@ void P25RX::processVoice(bool bit) // we've not seen a data sync for too long, signal sync lost and change to P25RXS_NONE if (m_lostCount == 0U) { - DEBUG1("P25RX: processVoice(): sync timeout in LDU, lost lock"); + DEBUG1("P25RX::processVoice() sync timeout in LDU, lost lock"); io.setDecode(false); @@ -309,7 +309,7 @@ void P25RX::processVoice(bool bit) reset(); } else { - DEBUG2("P25RX: processVoice(): sync found in LDU pos", m_dataPtr); + DEBUG2("P25RX::processVoice() sync found in LDU pos", m_dataPtr); uint8_t frame[P25_LDU_FRAME_LENGTH_BYTES + 3U]; ::memcpy(frame + 1U, m_buffer, m_endPtr / 8U); @@ -342,7 +342,7 @@ void P25RX::processData(bool bit) // process NID if (m_dataPtr == P25_SYNC_LENGTH_BITS + P25_NID_LENGTH_BITS + 1) { - DEBUG3("P25RX: processVoice(): dataPtr/endPtr", m_dataPtr, m_endPtr); + DEBUG3("P25RX::processData() dataPtr/endPtr", m_dataPtr, m_endPtr); if (!decodeNid()) { io.setDecode(false); @@ -357,7 +357,7 @@ void P25RX::processData(bool bit) return; default: { - DEBUG3("P25RX: processData(): illegal DUID in NID", m_nac, m_duid); + DEBUG3("P25RX::processData() illegal DUID in NID", m_nac, m_duid); reset(); } return; @@ -371,7 +371,7 @@ void P25RX::processData(bool bit) // we've not seen a data sync for too long, signal sync lost and change to P25RXS_NONE if (m_lostCount == 0U) { - DEBUG1("P25RX: processData(): sync timeout in PDU, lost lock"); + DEBUG1("P25RX::processData() sync timeout in PDU, lost lock"); io.setDecode(false); @@ -379,7 +379,7 @@ void P25RX::processData(bool bit) reset(); } else { - DEBUG2("P25RX: processData(): sync found in PDU pos", m_dataPtr); + DEBUG2("P25RX::processData() sync found in PDU pos", m_dataPtr); uint8_t frame[P25_LDU_FRAME_LENGTH_BYTES + 1U]; ::memcpy(frame + 1U, m_buffer, m_endPtr / 8U); @@ -407,7 +407,7 @@ bool P25RX::correlateSync() if (errs <= maxErrs) { ::memset(m_buffer, 0x00U, P25_LDU_FRAME_LENGTH_BYTES + 3U); - DEBUG2("P25RX: correlateSync(): correlateSync errs", errs); + DEBUG2("P25RX::correlateSync() sync errs", errs); // unpack sync bytes uint8_t sync[P25_SYNC_BYTES_LENGTH]; @@ -418,8 +418,8 @@ bool P25RX::correlateSync() sync[4U] = (uint8_t)((m_bitBuffer >> 8) & 0xFFU); sync[5U] = (uint8_t)((m_bitBuffer >> 0) & 0xFFU); - DEBUG4("P25RX: correlateSync(): sync [b0 - b2]", sync[0], sync[1], sync[2]); - DEBUG4("P25RX: correlateSync(): sync [b3 - b5]", sync[3], sync[4], sync[5]); + DEBUG4("P25RX::correlateSync() sync [b0 - b2]", sync[0], sync[1], sync[2]); + DEBUG4("P25RX::correlateSync() sync [b3 - b5]", sync[3], sync[4], sync[5]); for (uint8_t i = 0U; i < P25_SYNC_BYTES_LENGTH; i++) m_buffer[i] = sync[i]; @@ -434,7 +434,7 @@ bool P25RX::correlateSync() m_lostCount = MAX_SYNC_FRAMES; m_dataPtr = P25_SYNC_LENGTH_BITS; - DEBUG3("P25RX: correlateSync(): dataPtr/endPtr", m_dataPtr, m_endPtr); + DEBUG3("P25RX::correlateSync() dataPtr/endPtr", m_dataPtr, m_endPtr); return true; } @@ -453,18 +453,18 @@ bool P25RX::decodeNid() if (m_nac == 0xF7EU) { m_duid = nid[1U] & 0x0FU; - DEBUG2("P25RX: decodeNid(): DUID for xDU", m_duid); + DEBUG2("P25RX::decodeNid() DUID for xDU", m_duid); return true; } uint16_t nac = (nid[0U] << 4) | ((nid[1U] & 0xF0U) >> 4); if (nac == m_nac) { m_duid = nid[1U] & 0x0FU; - DEBUG2("P25RX: decodeNid(): DUID for xDU", m_duid); + DEBUG2("P25RX::decodeNid() DUID for xDU", m_duid); return true; } else { - DEBUG3("P25RX: decodeNid(): invalid NAC found; nac != m_nac", nac, m_nac); + DEBUG3("P25RX::decodeNid() invalid NAC found; nac != m_nac", nac, m_nac); } return false; diff --git a/p25/P25TX.cpp b/p25/P25TX.cpp index 0cd35d7..4ae6d4c 100644 --- a/p25/P25TX.cpp +++ b/p25/P25TX.cpp @@ -94,8 +94,6 @@ void P25TX::process() createData(); } - - DEBUG2("P25TX: process(): poLen", m_poLen); } if (m_poLen > 0U) { @@ -130,7 +128,7 @@ uint8_t P25TX::writeData(const uint8_t* data, uint8_t length) return RSN_ILLEGAL_LENGTH; uint16_t space = m_fifo.getSpace(); - DEBUG3("P25TX: writeData(): dataLength/fifoLength", length, space); + DEBUG3("P25TX::writeData() dataLength/fifoLength", length, space); if (space < length) { m_fifo.reset(); return RSN_RINGBUFF_FULL; @@ -223,7 +221,7 @@ void P25TX::createData() } else { uint8_t length = m_fifo.get(); - DEBUG3("P25TX: createData(): dataLength/fifoSpace", length, m_fifo.getSpace()); + DEBUG3("P25TX::createData() dataLength/fifoSpace", length, m_fifo.getSpace()); for (uint8_t i = 0U; i < length; i++) { m_poBuffer[m_poLen++] = m_fifo.get(); }