diff --git a/DStarNetwork.cpp b/DStarNetwork.cpp index a3db914..a20c3bc 100644 --- a/DStarNetwork.cpp +++ b/DStarNetwork.cpp @@ -46,8 +46,6 @@ m_pollTimer(1000U, 60U) CStopWatch stopWatch; ::srand(stopWatch.start()); - - m_pollTimer.start(); } CDStarNetwork::~CDStarNetwork() @@ -61,6 +59,8 @@ bool CDStarNetwork::open() if (m_address.s_addr == INADDR_NONE) return false; + m_pollTimer.start(); + return m_socket.open(); } diff --git a/MMDVMHost.cpp b/MMDVMHost.cpp index 6f8f47e..3129560 100644 --- a/MMDVMHost.cpp +++ b/MMDVMHost.cpp @@ -194,6 +194,8 @@ int CMMDVMHost::run() m_display->setDMR(); // This sets the mode to DMR within the modem m_modem->writeDMRStart(true); + if (m_dstarNetwork != NULL) + m_dstarNetwork->enable(false); modeTimer.start(); } } else if (mode == MODE_DMR) { @@ -213,6 +215,8 @@ int CMMDVMHost::run() m_display->setDMR(); // This sets the mode to DMR within the modem m_modem->writeDMRStart(true); + if (m_dstarNetwork != NULL) + m_dstarNetwork->enable(false); modeTimer.start(); } } else if (mode == MODE_DMR) { @@ -231,6 +235,8 @@ int CMMDVMHost::run() m_modem->setMode(MODE_YSF); if (m_dmrNetwork != NULL) m_dmrNetwork->enable(false); + if (m_dstarNetwork != NULL) + m_dstarNetwork->enable(false); } if (mode == MODE_YSF) { @@ -251,6 +257,8 @@ int CMMDVMHost::run() if (m_dmrNetwork != NULL) m_dmrNetwork->enable(true); + if (m_dstarNetwork != NULL) + m_dstarNetwork->enable(true); modeTimer.stop(); } @@ -286,6 +294,8 @@ int CMMDVMHost::run() m_modem->setMode(MODE_DMR); m_display->setDMR(); mode = MODE_DMR; + if (m_dstarNetwork != NULL) + m_dstarNetwork->enable(false); } if (len > 0U && mode == MODE_DMR) { @@ -304,6 +314,8 @@ int CMMDVMHost::run() m_modem->setMode(MODE_DMR); m_display->setDMR(); mode = MODE_DMR; + if (m_dstarNetwork != NULL) + m_dstarNetwork->enable(false); } if (len > 0U && mode == MODE_DMR) { @@ -326,6 +338,8 @@ int CMMDVMHost::run() m_modem->setMode(MODE_YSF); if (m_dmrNetwork != NULL) m_dmrNetwork->enable(false); + if (m_dstarNetwork != NULL) + m_dstarNetwork->enable(false); } if (len > 0U && mode == MODE_YSF) {