Change of DMR timeout behaviour.

This commit is contained in:
Jonathan Naylor
2017-03-12 19:06:47 +00:00
parent 62d340b003
commit d7b8170364
5 changed files with 146 additions and 99 deletions

View File

@@ -484,11 +484,13 @@ int CMMDVMHost::run()
m_dmrTXTimer.start();
}
} else {
dmr->writeModemSlot1(data, len);
dmrBeaconTimer.stop();
m_modeTimer.start();
if (m_duplex)
m_dmrTXTimer.start();
bool ret = dmr->writeModemSlot1(data, len);
if (ret) {
dmrBeaconTimer.stop();
m_modeTimer.start();
if (m_duplex)
m_dmrTXTimer.start();
}
}
} else if (m_mode != MODE_LOCKOUT) {
LogWarning("DMR modem data received when in mode %u", m_mode);
@@ -519,11 +521,13 @@ int CMMDVMHost::run()
m_dmrTXTimer.start();
}
} else {
dmr->writeModemSlot2(data, len);
dmrBeaconTimer.stop();
m_modeTimer.start();
if (m_duplex)
m_dmrTXTimer.start();
bool ret = dmr->writeModemSlot2(data, len);
if (ret) {
dmrBeaconTimer.stop();
m_modeTimer.start();
if (m_duplex)
m_dmrTXTimer.start();
}
}
} else if (m_mode != MODE_LOCKOUT) {
LogWarning("DMR modem data received when in mode %u", m_mode);