From 8c96a48b2bb1de456b17255e842da23a83e644d1 Mon Sep 17 00:00:00 2001 From: Jonathan Naylor Date: Mon, 8 Aug 2016 21:43:00 +0100 Subject: [PATCH] Change the sampling poistion and rate for the RSSI. --- DMRSlotRX.cpp | 14 +++++++------- DStarRX.cpp | 4 ++-- YSFRX.cpp | 4 ++-- 3 files changed, 11 insertions(+), 11 deletions(-) diff --git a/DMRSlotRX.cpp b/DMRSlotRX.cpp index 5ad4070..424b78f 100644 --- a/DMRSlotRX.cpp +++ b/DMRSlotRX.cpp @@ -125,7 +125,7 @@ bool CDMRSlotRX::processSample(q15_t sample) } else { #if defined(SEND_RSSI_DATA) // Grab the RSSI data near the centre of the frame - if (m_state == DMRRXS_VOICE && m_dataPtr == m_syncPtr && m_rssiCount == 0U) + if (m_state == DMRRXS_VOICE && m_dataPtr == m_syncPtr && m_rssiCount == 2U) m_rssi = io.getRSSIValue(); #endif uint16_t min = m_syncPtr - 1U; @@ -206,8 +206,8 @@ bool CDMRSlotRX::processSample(q15_t sample) // Voice sync DEBUG5("DMRSlotRX: voice sync found slot/pos/centre/threshold", m_slot ? 2U : 1U, m_syncPtr, centre, threshold); #if defined(SEND_RSSI_DATA) - // Send RSSI data approximately every 0.5 seconds - if (m_rssiCount == 0U) { + // Send RSSI data approximately every second + if (m_rssiCount == 2U) { frame[34U] = (m_rssi >> 8) & 0xFFU; frame[35U] = (m_rssi >> 0) & 0xFFU; serial.writeDMRData(m_slot, frame, DMR_FRAME_LENGTH_BYTES + 3U); @@ -216,7 +216,7 @@ bool CDMRSlotRX::processSample(q15_t sample) } m_rssiCount++; - if (m_rssiCount >= 8U) + if (m_rssiCount >= 16U) m_rssiCount = 0U; #else serial.writeDMRData(m_slot, frame, DMR_FRAME_LENGTH_BYTES + 1U); @@ -242,8 +242,8 @@ bool CDMRSlotRX::processSample(q15_t sample) frame[0U] = ++m_n; } #if defined(SEND_RSSI_DATA) - // Send RSSI data approximately every 0.5 seconds - if (m_rssiCount == 0U) { + // Send RSSI data approximately every second + if (m_rssiCount == 2U) { frame[34U] = (m_rssi >> 8) & 0xFFU; frame[35U] = (m_rssi >> 0) & 0xFFU; serial.writeDMRData(m_slot, frame, DMR_FRAME_LENGTH_BYTES + 3U); @@ -252,7 +252,7 @@ bool CDMRSlotRX::processSample(q15_t sample) } m_rssiCount++; - if (m_rssiCount >= 8U) + if (m_rssiCount >= 16U) m_rssiCount = 0U; #else serial.writeDMRData(m_slot, frame, DMR_FRAME_LENGTH_BYTES + 1U); diff --git a/DStarRX.cpp b/DStarRX.cpp index 9a2eb61..12fac7a 100644 --- a/DStarRX.cpp +++ b/DStarRX.cpp @@ -464,7 +464,7 @@ void CDStarRX::processData(bool bit) } #if defined(SEND_RSSI_DATA) - // Send RSSI data every 0.5 seconds + // Send RSSI data every second if (m_rssiCount == 0U) { uint16_t rssi = io.getRSSIValue(); m_rxBuffer[12U] = (rssi >> 8) & 0xFFU; @@ -475,7 +475,7 @@ void CDStarRX::processData(bool bit) } m_rssiCount++; - if (m_rssiCount >= 25U) + if (m_rssiCount >= 50U) m_rssiCount = 0U; #else serial.writeDStarData(m_rxBuffer, DSTAR_DATA_LENGTH_BYTES); diff --git a/YSFRX.cpp b/YSFRX.cpp index 579334a..f820078 100644 --- a/YSFRX.cpp +++ b/YSFRX.cpp @@ -237,7 +237,7 @@ void CYSFRX::processData(q15_t sample) m_outBuffer[0U] = m_lostCount == (MAX_SYNC_FRAMES - 1U) ? 0x01U : 0x00U; #if defined(SEND_RSSI_DATA) - // Send RSSI data every 0.5 seconds + // Send RSSI data every second if (m_rssiCount == 0U) { uint16_t rssi = io.getRSSIValue(); m_outBuffer[121U] = (rssi >> 8) & 0xFFU; @@ -248,7 +248,7 @@ void CYSFRX::processData(q15_t sample) } m_rssiCount++; - if (m_rssiCount >= 5U) + if (m_rssiCount >= 10U) m_rssiCount = 0U; #else serial.writeYSFData(m_outBuffer, YSF_FRAME_LENGTH_BYTES + 1U);