From 4cba5931f4e16f47a51e043da07f008cf0f8b830 Mon Sep 17 00:00:00 2001 From: Jonathan Naylor Date: Sun, 10 May 2020 21:29:01 +0100 Subject: [PATCH] Loosen the conditions for returning to STATE_IDLE --- FM.cpp | 20 +++++++++----------- SerialPort.cpp | 2 +- 2 files changed, 10 insertions(+), 12 deletions(-) diff --git a/FM.cpp b/FM.cpp index 6d2e0e3..543c497 100644 --- a/FM.cpp +++ b/FM.cpp @@ -132,7 +132,7 @@ void CFM::samples(bool cos, const q15_t* samples, uint8_t length) void CFM::process() { q15_t sample; - while(io.getSpace() >= 3U && m_outputRB.get(sample)) + while (io.getSpace() >= 3U && m_outputRB.get(sample)) io.write(STATE_FM, &sample, 1U); } @@ -235,16 +235,14 @@ void CFM::stateMachine(bool validSignal) } if (m_state == FS_LISTENING && m_modemState == STATE_FM) { - if (!m_callsign.isRunning() && !m_rfAck.isRunning()) { - DEBUG1("Change to STATE_IDLE"); - m_modemState = STATE_IDLE; - m_callsignTimer.stop(); - m_timeoutTimer.stop(); - m_kerchunkTimer.stop(); - m_ackMinTimer.stop(); - m_ackDelayTimer.stop(); - m_hangTimer.stop(); - } + DEBUG1("Change to STATE_IDLE"); + m_modemState = STATE_IDLE; + m_callsignTimer.stop(); + m_timeoutTimer.stop(); + m_kerchunkTimer.stop(); + m_ackMinTimer.stop(); + m_ackDelayTimer.stop(); + m_hangTimer.stop(); } } diff --git a/SerialPort.cpp b/SerialPort.cpp index 69d691b..4910c10 100644 --- a/SerialPort.cpp +++ b/SerialPort.cpp @@ -101,7 +101,7 @@ const uint8_t MMDVM_DEBUG5 = 0xF5U; #define HW_TYPE "MMDVM" #endif -#define DESCRIPTION "20200508 (D-Star/DMR/System Fusion/P25/NXDN/POCSAG/FM)" +#define DESCRIPTION "20200510 (D-Star/DMR/System Fusion/P25/NXDN/POCSAG/FM)" #if defined(GITVERSION) #define concat(h, a, b, c) h " " a " " b " GitID #" c ""