Fix state machine wrong kerchunk

This commit is contained in:
Geoffrey Merck 2020-04-21 21:00:09 +02:00
parent 8d340cbfba
commit 04fd9838b5
1 changed files with 18 additions and 16 deletions

34
FM.cpp
View File

@ -191,23 +191,25 @@ void CFM::stateMachine(bool validSignal, uint8_t length)
void CFM::listeningState(bool validSignal)
{
if (m_kerchunkTimer.getTimeout() > 0U) {
DEBUG1("State to KERCHUNK");
m_state = FS_KERCHUNK;
m_kerchunkTimer.start();
} else {
DEBUG1("State to RELAYING");
m_state = FS_RELAYING;
if (m_callsignAtStart)
sendCallsign();
if(validSignal) {
if (m_kerchunkTimer.getTimeout() > 0U) {
DEBUG1("State to KERCHUNK");
m_state = FS_KERCHUNK;
m_kerchunkTimer.start();
} else {
DEBUG1("State to RELAYING");
m_state = FS_RELAYING;
if (m_callsignAtStart)
sendCallsign();
}
beginRelaying();
m_callsignTimer.start();
DEBUG1("Change to STATE_FM");
m_modemState = STATE_FM;
}
beginRelaying();
m_callsignTimer.start();
DEBUG1("Change to STATE_FM");
m_modemState = STATE_FM;
}
void CFM::kerchunkState(bool validSignal)