Switch off the D-Star network when not in D-Star mode.

This commit is contained in:
Jonathan Naylor 2016-01-26 17:19:41 +00:00
parent afdf3cbb8c
commit 024bb30498
2 changed files with 16 additions and 2 deletions

View file

@ -46,8 +46,6 @@ m_pollTimer(1000U, 60U)
CStopWatch stopWatch; CStopWatch stopWatch;
::srand(stopWatch.start()); ::srand(stopWatch.start());
m_pollTimer.start();
} }
CDStarNetwork::~CDStarNetwork() CDStarNetwork::~CDStarNetwork()
@ -61,6 +59,8 @@ bool CDStarNetwork::open()
if (m_address.s_addr == INADDR_NONE) if (m_address.s_addr == INADDR_NONE)
return false; return false;
m_pollTimer.start();
return m_socket.open(); return m_socket.open();
} }

View file

@ -194,6 +194,8 @@ int CMMDVMHost::run()
m_display->setDMR(); m_display->setDMR();
// This sets the mode to DMR within the modem // This sets the mode to DMR within the modem
m_modem->writeDMRStart(true); m_modem->writeDMRStart(true);
if (m_dstarNetwork != NULL)
m_dstarNetwork->enable(false);
modeTimer.start(); modeTimer.start();
} }
} else if (mode == MODE_DMR) { } else if (mode == MODE_DMR) {
@ -213,6 +215,8 @@ int CMMDVMHost::run()
m_display->setDMR(); m_display->setDMR();
// This sets the mode to DMR within the modem // This sets the mode to DMR within the modem
m_modem->writeDMRStart(true); m_modem->writeDMRStart(true);
if (m_dstarNetwork != NULL)
m_dstarNetwork->enable(false);
modeTimer.start(); modeTimer.start();
} }
} else if (mode == MODE_DMR) { } else if (mode == MODE_DMR) {
@ -231,6 +235,8 @@ int CMMDVMHost::run()
m_modem->setMode(MODE_YSF); m_modem->setMode(MODE_YSF);
if (m_dmrNetwork != NULL) if (m_dmrNetwork != NULL)
m_dmrNetwork->enable(false); m_dmrNetwork->enable(false);
if (m_dstarNetwork != NULL)
m_dstarNetwork->enable(false);
} }
if (mode == MODE_YSF) { if (mode == MODE_YSF) {
@ -251,6 +257,8 @@ int CMMDVMHost::run()
if (m_dmrNetwork != NULL) if (m_dmrNetwork != NULL)
m_dmrNetwork->enable(true); m_dmrNetwork->enable(true);
if (m_dstarNetwork != NULL)
m_dstarNetwork->enable(true);
modeTimer.stop(); modeTimer.stop();
} }
@ -286,6 +294,8 @@ int CMMDVMHost::run()
m_modem->setMode(MODE_DMR); m_modem->setMode(MODE_DMR);
m_display->setDMR(); m_display->setDMR();
mode = MODE_DMR; mode = MODE_DMR;
if (m_dstarNetwork != NULL)
m_dstarNetwork->enable(false);
} }
if (len > 0U && mode == MODE_DMR) { if (len > 0U && mode == MODE_DMR) {
@ -304,6 +314,8 @@ int CMMDVMHost::run()
m_modem->setMode(MODE_DMR); m_modem->setMode(MODE_DMR);
m_display->setDMR(); m_display->setDMR();
mode = MODE_DMR; mode = MODE_DMR;
if (m_dstarNetwork != NULL)
m_dstarNetwork->enable(false);
} }
if (len > 0U && mode == MODE_DMR) { if (len > 0U && mode == MODE_DMR) {
@ -326,6 +338,8 @@ int CMMDVMHost::run()
m_modem->setMode(MODE_YSF); m_modem->setMode(MODE_YSF);
if (m_dmrNetwork != NULL) if (m_dmrNetwork != NULL)
m_dmrNetwork->enable(false); m_dmrNetwork->enable(false);
if (m_dstarNetwork != NULL)
m_dstarNetwork->enable(false);
} }
if (len > 0U && mode == MODE_YSF) { if (len > 0U && mode == MODE_YSF) {