Re-add COS.

This commit is contained in:
Jonathan Naylor 2020-04-18 16:59:25 +01:00
parent ebdba2bdb9
commit 85816d5bec
3 changed files with 8 additions and 6 deletions

6
FM.cpp
View File

@ -65,11 +65,11 @@ m_hangTimer()
m_filter.pCoeffs = FILTER_COEFFS; m_filter.pCoeffs = FILTER_COEFFS;
} }
void CFM::samples(q15_t* samples, uint8_t length) void CFM::samples(bool cos, q15_t* samples, uint8_t length)
{ {
bool validSignal = m_ctcssRX.process(samples, length); bool validCTCSS = m_ctcssRX.process(samples, length);
stateMachine(validSignal, length); stateMachine(validCTCSS && cos, length);
if (m_modemState != STATE_FM) if (m_modemState != STATE_FM)
return; return;

2
FM.h
View File

@ -41,7 +41,7 @@ class CFM {
public: public:
CFM(); CFM();
void samples(q15_t* samples, uint8_t length); void samples(bool cos, q15_t* samples, uint8_t length);
void process(); void process();

6
IO.cpp
View File

@ -370,7 +370,8 @@ void CIO::process()
FMVals[i] = q15_t(__SSAT((res1 >> 15), 16)); FMVals[i] = q15_t(__SSAT((res1 >> 15), 16));
} }
#endif #endif
fm.samples(FMVals, RX_BLOCK_SIZE); bool cos = getCOSInt();
fm.samples(cos, FMVals, RX_BLOCK_SIZE);
} }
} else if (m_modemState == STATE_DSTAR) { } else if (m_modemState == STATE_DSTAR) {
if (m_dstarEnable) { if (m_dstarEnable) {
@ -443,7 +444,8 @@ void CIO::process()
FMVals[i] = q15_t(__SSAT((res1 >> 15), 16)); FMVals[i] = q15_t(__SSAT((res1 >> 15), 16));
} }
#endif #endif
fm.samples(FMVals, RX_BLOCK_SIZE); bool cos = getCOSInt();
fm.samples(cos, FMVals, RX_BLOCK_SIZE);
} else if (m_modemState == STATE_DSTARCAL) { } else if (m_modemState == STATE_DSTARCAL) {
q15_t GMSKVals[RX_BLOCK_SIZE]; q15_t GMSKVals[RX_BLOCK_SIZE];
::arm_fir_fast_q15(&m_gaussianFilter, samples, GMSKVals, RX_BLOCK_SIZE); ::arm_fir_fast_q15(&m_gaussianFilter, samples, GMSKVals, RX_BLOCK_SIZE);