mirror of
https://github.com/g4klx/MMDVMHost
synced 2025-12-21 23:45:49 +08:00
Debugging D-Star.
This commit is contained in:
@@ -215,6 +215,8 @@ void CDStarControl::writeModem(unsigned char *data)
|
|||||||
m_errs += errors;
|
m_errs += errors;
|
||||||
m_bits += 48U;
|
m_bits += 48U;
|
||||||
|
|
||||||
|
m_frames++;
|
||||||
|
|
||||||
unsigned int bits = matchSync(data + 1U);
|
unsigned int bits = matchSync(data + 1U);
|
||||||
if (bits <= MAX_SYNC_BIT_ERRORS)
|
if (bits <= MAX_SYNC_BIT_ERRORS)
|
||||||
m_n = 0U;
|
m_n = 0U;
|
||||||
@@ -736,7 +738,7 @@ void CDStarControl::sendAck()
|
|||||||
if (m_network != NULL)
|
if (m_network != NULL)
|
||||||
m_network->getStatus(status, reflector);
|
m_network->getStatus(status, reflector);
|
||||||
|
|
||||||
char text[20U];
|
char text[40U];
|
||||||
if (status == LS_LINKED_DEXTRA || status == LS_LINKED_DPLUS || status == LS_LINKED_DCS || status == LS_LINKED_CCS || status == LS_LINKED_LOOPBACK)
|
if (status == LS_LINKED_DEXTRA || status == LS_LINKED_DPLUS || status == LS_LINKED_DCS || status == LS_LINKED_CCS || status == LS_LINKED_LOOPBACK)
|
||||||
::sprintf(text, "%-8.8s BER: %.1f%% ", reflector, float(m_errs * 100U) / float(m_bits));
|
::sprintf(text, "%-8.8s BER: %.1f%% ", reflector, float(m_errs * 100U) / float(m_bits));
|
||||||
else
|
else
|
||||||
|
|||||||
@@ -24,7 +24,7 @@
|
|||||||
const unsigned int DSTAR_HEADER_LENGTH_BYTES = 41U;
|
const unsigned int DSTAR_HEADER_LENGTH_BYTES = 41U;
|
||||||
const unsigned int DSTAR_FRAME_LENGTH_BYTES = 12U;
|
const unsigned int DSTAR_FRAME_LENGTH_BYTES = 12U;
|
||||||
|
|
||||||
const unsigned char DSTAR_END_PATTERN_BYTES[] = { TAG_EOT, 0x55, 0x55, 0x55, 0x55, 0xC8, 0x7A, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 };
|
const unsigned char DSTAR_END_PATTERN_BYTES[] = { TAG_EOT, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0xC8, 0x7A };
|
||||||
const unsigned int DSTAR_END_PATTERN_LENGTH_BYTES = 6U;
|
const unsigned int DSTAR_END_PATTERN_LENGTH_BYTES = 6U;
|
||||||
|
|
||||||
const unsigned char DSTAR_NULL_AMBE_DATA_BYTES[] = { 0x9E, 0x8D, 0x32, 0x88, 0x26, 0x1A, 0x3F, 0x61, 0xE8 };
|
const unsigned char DSTAR_NULL_AMBE_DATA_BYTES[] = { 0x9E, 0x8D, 0x32, 0x88, 0x26, 0x1A, 0x3F, 0x61, 0xE8 };
|
||||||
|
|||||||
@@ -207,6 +207,7 @@ void CDStarNetwork::clock(unsigned int ms)
|
|||||||
case 0x00U: // NETWORK_TEXT;
|
case 0x00U: // NETWORK_TEXT;
|
||||||
m_linkStatus = LINK_STATUS(buffer[25U]);
|
m_linkStatus = LINK_STATUS(buffer[25U]);
|
||||||
::memcpy(m_linkReflector, buffer + 26U, DSTAR_LONG_CALLSIGN_LENGTH);
|
::memcpy(m_linkReflector, buffer + 26U, DSTAR_LONG_CALLSIGN_LENGTH);
|
||||||
|
LogMessage("D-Star link status set to \"%s\"", buffer + 5U);
|
||||||
return;
|
return;
|
||||||
|
|
||||||
case 0x01U: // NETWORK_TEMPTEXT;
|
case 0x01U: // NETWORK_TEMPTEXT;
|
||||||
|
|||||||
16
Modem.cpp
16
Modem.cpp
@@ -364,23 +364,23 @@ void CModem::clock(unsigned int ms)
|
|||||||
}
|
}
|
||||||
|
|
||||||
if (m_dstarSpace > 1U && !m_txDStarData.isEmpty()) {
|
if (m_dstarSpace > 1U && !m_txDStarData.isEmpty()) {
|
||||||
unsigned char buffer[2U];
|
unsigned char buffer[4U];
|
||||||
m_txDStarData.peek(buffer, 2U);
|
m_txDStarData.peek(buffer, 4U);
|
||||||
|
|
||||||
if ((buffer[1U] == TAG_HEADER && m_dstarSpace > 4U) ||
|
if ((buffer[3U] == MMDVM_DSTAR_HEADER && m_dstarSpace > 4U) ||
|
||||||
(buffer[1U] == TAG_DATA && m_dstarSpace > 1U) ||
|
(buffer[3U] == MMDVM_DSTAR_DATA && m_dstarSpace > 1U) ||
|
||||||
(buffer[1U] == TAG_EOT && m_dstarSpace > 1U)) {
|
(buffer[3U] == MMDVM_DSTAR_EOT && m_dstarSpace > 1U)) {
|
||||||
unsigned char len = 0U;
|
unsigned char len = 0U;
|
||||||
m_txDStarData.getData(&len, 1U);
|
m_txDStarData.getData(&len, 1U);
|
||||||
m_txDStarData.getData(m_buffer, len);
|
m_txDStarData.getData(m_buffer, len);
|
||||||
|
|
||||||
if (m_debug) {
|
if (m_debug) {
|
||||||
switch (buffer[1U]) {
|
switch (buffer[3U]) {
|
||||||
case TAG_HEADER:
|
case MMDVM_DSTAR_HEADER:
|
||||||
CUtils::dump(1U, "TX D-Star Header", m_buffer, len);
|
CUtils::dump(1U, "TX D-Star Header", m_buffer, len);
|
||||||
m_dstarSpace -= 4U;
|
m_dstarSpace -= 4U;
|
||||||
break;
|
break;
|
||||||
case TAG_DATA:
|
case MMDVM_DSTAR_DATA:
|
||||||
CUtils::dump(1U, "TX D-Star Data", m_buffer, len);
|
CUtils::dump(1U, "TX D-Star Data", m_buffer, len);
|
||||||
m_dstarSpace -= 1U;
|
m_dstarSpace -= 1U;
|
||||||
break;
|
break;
|
||||||
|
|||||||
Reference in New Issue
Block a user