From dfc262bbcd2570817e4f8e03156a94ec00537d9b Mon Sep 17 00:00:00 2001 From: Jonathan Naylor Date: Thu, 18 Jan 2018 21:25:26 +0000 Subject: [PATCH] Changes based on first NXDN RF tests. --- IO.cpp | 23 ++++++++++++----------- NXDNRX.cpp | 2 +- 2 files changed, 13 insertions(+), 12 deletions(-) diff --git a/IO.cpp b/IO.cpp index aa6745d..bfbb6f4 100644 --- a/IO.cpp +++ b/IO.cpp @@ -300,15 +300,19 @@ void CIO::process() dstarRX.samples(GMSKVals, rssi, RX_BLOCK_SIZE); } - if (m_p25Enable) { - q15_t P25Vals[RX_BLOCK_SIZE]; - ::arm_fir_fast_q15(&m_boxcarFilter, dcSamples, P25Vals, RX_BLOCK_SIZE); + if (m_p25Enable || m_nxdnEnable) { + q15_t C4FSKVals[RX_BLOCK_SIZE]; + ::arm_fir_fast_q15(&m_boxcarFilter, dcSamples, C4FSKVals, RX_BLOCK_SIZE); - p25RX.samples(P25Vals, rssi, RX_BLOCK_SIZE); + if (m_p25Enable) + p25RX.samples(C4FSKVals, rssi, RX_BLOCK_SIZE); + + if (m_nxdnEnable) + nxdnRX.samples(C4FSKVals, rssi, RX_BLOCK_SIZE); } // XXX YSF should use dcSamples, but DMR not - if (m_dmrEnable || m_ysfEnable || m_nxdnEnable) { + if (m_dmrEnable || m_ysfEnable) { q15_t C4FSKVals[RX_BLOCK_SIZE]; ::arm_fir_fast_q15(&m_rrcFilter, samples, C4FSKVals, RX_BLOCK_SIZE); @@ -321,9 +325,6 @@ void CIO::process() if (m_ysfEnable) ysfRX.samples(C4FSKVals, rssi, RX_BLOCK_SIZE); - - if (m_nxdnEnable) - nxdnRX.samples(C4FSKVals, rssi, RX_BLOCK_SIZE); } } else if (m_modemState == STATE_DSTAR) { if (m_dstarEnable) { @@ -363,10 +364,10 @@ void CIO::process() } } else if (m_modemState == STATE_NXDN) { if (m_nxdnEnable) { - q15_t C4FSKVals[RX_BLOCK_SIZE]; - ::arm_fir_fast_q15(&m_rrcFilter, dcSamples, C4FSKVals, RX_BLOCK_SIZE); + q15_t NXDNVals[RX_BLOCK_SIZE]; + ::arm_fir_fast_q15(&m_boxcarFilter, dcSamples, NXDNVals, RX_BLOCK_SIZE); - nxdnRX.samples(C4FSKVals, rssi, RX_BLOCK_SIZE); + nxdnRX.samples(NXDNVals, rssi, RX_BLOCK_SIZE); } } else if (m_modemState == STATE_DSTARCAL) { q15_t GMSKVals[RX_BLOCK_SIZE]; diff --git a/NXDNRX.cpp b/NXDNRX.cpp index 79bf10e..eab67dd 100644 --- a/NXDNRX.cpp +++ b/NXDNRX.cpp @@ -23,7 +23,7 @@ const q15_t SCALING_FACTOR = 18750; // Q15(0.55) -const uint8_t MAX_FSW_BIT_ERRS = 2U; +const uint8_t MAX_FSW_BIT_ERRS = 1U; const uint8_t MAX_FSW_SYMBOLS_ERRS = 1U;