diff --git a/MMDVMHost.cpp b/MMDVMHost.cpp index 5d0e84e..b68ea4e 100644 --- a/MMDVMHost.cpp +++ b/MMDVMHost.cpp @@ -604,7 +604,10 @@ void CMMDVMHost::setMode(unsigned char mode, bool logging) if (m_dstarNetwork != NULL) m_dstarNetwork->enable(false); m_display->setDMR(); - m_modem->writeDMRStart(true); + if (m_duplex) + m_modem->writeDMRStart(true); + else + m_modem->setMode(MODE_DMR); m_mode = MODE_DMR; m_modeTimer.start(); break; @@ -629,7 +632,7 @@ void CMMDVMHost::setMode(unsigned char mode, bool logging) m_dstarNetwork->enable(false); if (m_dmrNetwork != NULL) m_dmrNetwork->enable(false); - if (m_mode == MODE_DMR) + if (m_mode == MODE_DMR && m_duplex) m_modem->writeDMRStart(false); else m_modem->setMode(MODE_IDLE); @@ -657,7 +660,7 @@ void CMMDVMHost::setMode(unsigned char mode, bool logging) m_dstarNetwork->enable(true); if (m_dmrNetwork != NULL) m_dmrNetwork->enable(true); - if (m_mode == MODE_DMR) + if (m_mode == MODE_DMR && m_duplex) m_modem->writeDMRStart(false); else m_modem->setMode(MODE_IDLE);