From 1a07a6f0d1f030164b67f41b35553634b9fee574 Mon Sep 17 00:00:00 2001 From: Jonathan Naylor Date: Sun, 5 Sep 2021 19:46:01 +0100 Subject: [PATCH] Add more details to the simple FM state machine. --- FM.cpp | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/FM.cpp b/FM.cpp index 0bbc08f..fa32526 100644 --- a/FM.cpp +++ b/FM.cpp @@ -1016,10 +1016,13 @@ void CFM::simpleStateMachine(bool validRFSignal, bool validExtSignal) io.setDecode(true); io.setADCDetection(true); - insertSilence(50U); + if (m_duplex) + insertSilence(50U); DEBUG1("State to RELAYING_RF"); m_state = FS_RELAYING_RF; + + m_statusTimer.start(); serial.writeFMStatus(m_state); } else if (validExtSignal) { io.setDecode(true); @@ -1029,6 +1032,8 @@ void CFM::simpleStateMachine(bool validRFSignal, bool validExtSignal) DEBUG1("State to RELAYING_EXT"); m_state = FS_RELAYING_EXT; + + m_statusTimer.start(); serial.writeFMStatus(m_state); } break; @@ -1046,6 +1051,8 @@ void CFM::simpleStateMachine(bool validRFSignal, bool validExtSignal) if (m_duplex) m_needReverse = true; + + m_statusTimer.stop(); } break; @@ -1058,6 +1065,8 @@ void CFM::simpleStateMachine(bool validRFSignal, bool validExtSignal) m_state = FS_LISTENING; m_needReverse = true; + + m_statusTimer.stop(); } break; }