mirror of https://github.com/g4klx/MMDVM.git
Merge pull request #280 from F4FXL/FM_Ext
Fix Callsign at end and simplify Samples
This commit is contained in:
commit
5039dfbe68
8
FM.cpp
8
FM.cpp
|
@ -97,10 +97,8 @@ void CFM::samples(bool cos, q15_t* samples, uint8_t length)
|
||||||
//we had enough samples for CTCSS and we are in some other mode than FM
|
//we had enough samples for CTCSS and we are in some other mode than FM
|
||||||
bool validCTCSS = CTCSS_VALID(ctcssState);
|
bool validCTCSS = CTCSS_VALID(ctcssState);
|
||||||
stateMachine(validCTCSS && cos, inputExt);
|
stateMachine(validCTCSS && cos, inputExt);
|
||||||
} else if ((inputExt || CTCSS_READY(ctcssState)) && m_modemState == STATE_FM) {
|
if (m_modemState != STATE_FM)
|
||||||
//We had enough samples for CTCSS and we are in FM mode, trigger the state machine
|
continue;
|
||||||
bool validCTCSS = CTCSS_VALID(ctcssState);
|
|
||||||
stateMachine(validCTCSS && cos, inputExt);
|
|
||||||
} else if ((inputExt || CTCSS_NOT_READY(ctcssState)) && m_modemState == STATE_FM && i == length - 1) {
|
} else if ((inputExt || CTCSS_NOT_READY(ctcssState)) && m_modemState == STATE_FM && i == length - 1) {
|
||||||
//Not enough samples for CTCSS but we already are in FM, trigger the state machine
|
//Not enough samples for CTCSS but we already are in FM, trigger the state machine
|
||||||
//but do not trigger the state machine on every single sample, save CPU!
|
//but do not trigger the state machine on every single sample, save CPU!
|
||||||
|
@ -318,7 +316,7 @@ void CFM::stateMachine(bool validRFSignal, bool validExtSignal)
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (m_state == FS_LISTENING) {
|
if (m_state == FS_LISTENING && !m_rfAck.isWanted() && !m_extAck.isWanted() && !m_callsign.isWanted()) {
|
||||||
m_outputRFRB.reset();
|
m_outputRFRB.reset();
|
||||||
m_downsampler.reset();
|
m_downsampler.reset();
|
||||||
}
|
}
|
||||||
|
|
|
@ -205,6 +205,11 @@ void CFMKeyer::stop()
|
||||||
m_audioPos = 0U;
|
m_audioPos = 0U;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
bool CFMKeyer::isWanted() const
|
||||||
|
{
|
||||||
|
return m_wanted;
|
||||||
|
}
|
||||||
|
|
||||||
bool CFMKeyer::isRunning() const
|
bool CFMKeyer::isRunning() const
|
||||||
{
|
{
|
||||||
return m_poPos > 0U || m_dotPos > 0U || m_audioPos > 0U;
|
return m_poPos > 0U || m_dotPos > 0U || m_audioPos > 0U;
|
||||||
|
|
Loading…
Reference in New Issue