diff --git a/Config.h b/Config.h index 27f7290..7a6877f 100644 --- a/Config.h +++ b/Config.h @@ -43,9 +43,9 @@ // For the SP8NTH board // #define ARDUINO_DUE_NTH -// To use wider C4FSK filters for DMR and System Fusion on transmit +// To use wider C4FSK filters for DMR, System Fusion and P25 on transmit // #define WIDE_C4FSK_FILTERS_TX -// To use wider C4FSK filters for DMR and System Fusion on receive +// To use wider C4FSK filters for DMR, System Fusion and P25 on receive // #define WIDE_C4FSK_FILTERS_RX // Pass RSSI information to the host diff --git a/DStarRX.cpp b/DStarRX.cpp index 45b4258..81268cb 100644 --- a/DStarRX.cpp +++ b/DStarRX.cpp @@ -260,8 +260,7 @@ m_pathMemory2(), m_pathMemory3(), m_fecOutput(), m_samples(), -m_samplesPtr(0U), -m_rssiCount(0U) +m_samplesPtr(0U) { } @@ -274,7 +273,6 @@ void CDStarRX::reset() m_rxBufferBits = 0U; m_dataBits = 0U; m_samplesPtr = 0U; - m_rssiCount = 0U; } void CDStarRX::samples(const q15_t* samples, uint8_t length) @@ -349,7 +347,6 @@ void CDStarRX::processNone(bool bit) m_rxBufferBits = 0U; m_dataBits = 0U; - m_rssiCount = 0U; m_rxState = DSRXS_DATA; return; } @@ -379,7 +376,6 @@ void CDStarRX::processHeader(bool bit) m_rxBufferBits = 0U; m_rxState = DSRXS_DATA; - m_rssiCount = 0U; m_dataBits = SYNC_POS - DSTAR_DATA_LENGTH_BITS + 1U; } else { // The checksum failed, return to looking for syncs @@ -463,23 +459,7 @@ void CDStarRX::processData(bool bit) m_rxBuffer[11U] = DSTAR_DATA_SYNC_BYTES[11U]; } -#if defined(SEND_RSSI_DATA) - // Send RSSI data every second - if (m_rssiCount == 0U) { - uint16_t rssi = io.getRSSIValue(); - m_rxBuffer[12U] = (rssi >> 8) & 0xFFU; - m_rxBuffer[13U] = (rssi >> 0) & 0xFFU; - serial.writeDStarData(m_rxBuffer, DSTAR_DATA_LENGTH_BYTES + 2U); - } else { - serial.writeDStarData(m_rxBuffer, DSTAR_DATA_LENGTH_BYTES); - } - - m_rssiCount++; - if (m_rssiCount >= 50U) - m_rssiCount = 0U; -#else serial.writeDStarData(m_rxBuffer, DSTAR_DATA_LENGTH_BYTES); -#endif // Start the next frame ::memset(m_rxBuffer, 0x00U, DSTAR_DATA_LENGTH_BYTES + 2U); diff --git a/DStarRX.h b/DStarRX.h index a9252a8..dd63ed3 100644 --- a/DStarRX.h +++ b/DStarRX.h @@ -53,7 +53,6 @@ private: uint8_t m_fecOutput[42U]; q15_t m_samples[DSTAR_DATA_SYNC_LENGTH_BITS]; uint8_t m_samplesPtr; - uint16_t m_rssiCount; void processNone(bool bit); void processHeader(bool bit); diff --git a/P25RX.cpp b/P25RX.cpp index 4980468..bb7ad25 100644 --- a/P25RX.cpp +++ b/P25RX.cpp @@ -16,7 +16,7 @@ * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. */ -#define WANT_DEBUG +// #define WANT_DEBUG #include "Config.h" #include "Globals.h" @@ -54,7 +54,6 @@ m_buffer(NULL), m_bufferPtr(0U), m_symbolPtr(0U), m_lostCount(0U), -m_rssiCount(0U), m_centre(0), m_threshold(0) { @@ -70,7 +69,6 @@ void CP25RX::reset() m_bufferPtr = 0U; m_symbolPtr = 0U; m_lostCount = 0U; - m_rssiCount = 0U; m_centre = 0; m_threshold = 0; } @@ -164,7 +162,6 @@ void CP25RX::processNone(q15_t sample) m_lostCount = MAX_SYNC_FRAMES; m_bufferPtr = P25_SYNC_LENGTH_BITS; m_state = P25RXS_DATA; - m_rssiCount = 0U; io.setDecode(true); io.setADCDetection(true); @@ -254,23 +251,7 @@ void CP25RX::processData(q15_t sample) } else { m_outBuffer[0U] = m_lostCount == (MAX_SYNC_FRAMES - 1U) ? 0x01U : 0x00U; -#if defined(SEND_RSSI_DATA) - // Send RSSI data every second - if (m_rssiCount == 0U) { - uint16_t rssi = io.getRSSIValue(); - m_outBuffer[121U] = (rssi >> 8) & 0xFFU; - m_outBuffer[122U] = (rssi >> 0) & 0xFFU; - serial.writeP25Ldu(m_outBuffer, P25_LDU_FRAME_LENGTH_BYTES + 3U); - } else { - serial.writeP25Ldu(m_outBuffer, P25_LDU_FRAME_LENGTH_BYTES + 1U); - } - - m_rssiCount++; - if (m_rssiCount >= 10U) - m_rssiCount = 0U; -#else serial.writeP25Ldu(m_outBuffer, P25_LDU_FRAME_LENGTH_BYTES + 1U); -#endif // Start the next frame ::memset(m_outBuffer, 0x00U, P25_LDU_FRAME_LENGTH_BYTES + 3U); diff --git a/P25RX.h b/P25RX.h index 79f0ed2..691763d 100644 --- a/P25RX.h +++ b/P25RX.h @@ -47,7 +47,6 @@ private: uint16_t m_bufferPtr; uint16_t m_symbolPtr; uint16_t m_lostCount; - uint16_t m_rssiCount; q15_t m_centre; q15_t m_threshold; diff --git a/YSFRX.cpp b/YSFRX.cpp index f820078..cfe4fab 100644 --- a/YSFRX.cpp +++ b/YSFRX.cpp @@ -54,7 +54,6 @@ m_buffer(NULL), m_bufferPtr(0U), m_symbolPtr(0U), m_lostCount(0U), -m_rssiCount(0U), m_centre(0), m_threshold(0) { @@ -70,7 +69,6 @@ void CYSFRX::reset() m_bufferPtr = 0U; m_symbolPtr = 0U; m_lostCount = 0U; - m_rssiCount = 0U; m_centre = 0; m_threshold = 0; } @@ -164,7 +162,6 @@ void CYSFRX::processNone(q15_t sample) m_lostCount = MAX_SYNC_FRAMES; m_bufferPtr = YSF_SYNC_LENGTH_BITS; m_state = YSFRXS_DATA; - m_rssiCount = 0U; io.setDecode(true); io.setADCDetection(true); @@ -236,23 +233,7 @@ void CYSFRX::processData(q15_t sample) } else { m_outBuffer[0U] = m_lostCount == (MAX_SYNC_FRAMES - 1U) ? 0x01U : 0x00U; -#if defined(SEND_RSSI_DATA) - // Send RSSI data every second - if (m_rssiCount == 0U) { - uint16_t rssi = io.getRSSIValue(); - m_outBuffer[121U] = (rssi >> 8) & 0xFFU; - m_outBuffer[122U] = (rssi >> 0) & 0xFFU; - serial.writeYSFData(m_outBuffer, YSF_FRAME_LENGTH_BYTES + 3U); - } else { - serial.writeYSFData(m_outBuffer, YSF_FRAME_LENGTH_BYTES + 1U); - } - - m_rssiCount++; - if (m_rssiCount >= 10U) - m_rssiCount = 0U; -#else serial.writeYSFData(m_outBuffer, YSF_FRAME_LENGTH_BYTES + 1U); -#endif // Start the next frame ::memset(m_outBuffer, 0x00U, YSF_FRAME_LENGTH_BYTES + 3U); diff --git a/YSFRX.h b/YSFRX.h index 41a8b71..8f8f770 100644 --- a/YSFRX.h +++ b/YSFRX.h @@ -47,7 +47,6 @@ private: uint16_t m_bufferPtr; uint16_t m_symbolPtr; uint16_t m_lostCount; - uint16_t m_rssiCount; q15_t m_centre; q15_t m_threshold;