mirror of
https://github.com/g4klx/MMDVMHost
synced 2025-12-21 23:45:49 +08:00
Change D-Star EOT RF transmission control.
This commit is contained in:
@@ -191,10 +191,8 @@ bool CDStarControl::writeModem(unsigned char *data)
|
||||
writeNetworkData(DSTAR_END_PATTERN_BYTES, 0U, true, false);
|
||||
}
|
||||
|
||||
if (m_duplex) {
|
||||
for (unsigned int i = 0U; i < 3U; i++)
|
||||
writeQueueData(DSTAR_END_PATTERN_BYTES);
|
||||
}
|
||||
if (m_duplex)
|
||||
writeQueueEOT();
|
||||
|
||||
m_ackTimer.start();
|
||||
|
||||
@@ -458,9 +456,9 @@ void CDStarControl::writeNetwork()
|
||||
|
||||
m_timeoutTimer.stop();
|
||||
|
||||
writeQueueEOT();
|
||||
|
||||
data[1U] = TAG_EOT;
|
||||
for (unsigned int i = 0U; i < 3U; i++)
|
||||
writeQueueData(data + 1U);
|
||||
|
||||
#if defined(DUMP_DSTAR)
|
||||
writeFile(data + 1U, length - 1U);
|
||||
@@ -583,6 +581,18 @@ void CDStarControl::writeQueueData(const unsigned char *data)
|
||||
m_queue.addData(data, len);
|
||||
}
|
||||
|
||||
void CDStarControl::writeQueueEOT()
|
||||
{
|
||||
if (m_timeoutTimer.isRunning() && m_timeoutTimer.hasExpired())
|
||||
return;
|
||||
|
||||
unsigned char len = 1U;
|
||||
m_queue.addData(&len, 1U);
|
||||
|
||||
unsigned char data = TAG_EOT;
|
||||
m_queue.addData(&data, len);
|
||||
}
|
||||
|
||||
void CDStarControl::writeNetworkHeader(const unsigned char* data, bool busy)
|
||||
{
|
||||
assert(data != NULL);
|
||||
@@ -758,5 +768,5 @@ void CDStarControl::sendAck()
|
||||
writeQueueData(data);
|
||||
}
|
||||
|
||||
writeQueueData(DSTAR_END_PATTERN_BYTES);
|
||||
writeQueueEOT();
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user