diff --git a/src/host/dmr/Slot.cpp b/src/host/dmr/Slot.cpp index af460581..8d41c516 100644 --- a/src/host/dmr/Slot.cpp +++ b/src/host/dmr/Slot.cpp @@ -723,6 +723,11 @@ void Slot::clock() if (!s_authoritative && m_permittedDstId != 0U) { m_permittedDstId = 0U; } + + // has the talkgroup hang timer expired while the modem is in a non-listening state? + if (m_rfState != RS_RF_LISTENING) { + processFrameLoss(RF_LOSS_TYPE_TG_HANG_NOT_LISTENING); + } } } diff --git a/src/host/nxdn/Control.cpp b/src/host/nxdn/Control.cpp index 384c2eb4..5dad4c40 100644 --- a/src/host/nxdn/Control.cpp +++ b/src/host/nxdn/Control.cpp @@ -684,6 +684,11 @@ void Control::clock() if (!m_authoritative && m_permittedDstId != 0U) { m_permittedDstId = 0U; } + + // has the talkgroup hang timer expired while the modem is in a non-listening state? + if (m_rfState != RS_RF_LISTENING) { + processFrameLoss(RF_LOSS_TYPE_TG_HANG_NOT_LISTENING); + } } }