mirror of
https://github.com/g4klx/MMDVMHost
synced 2025-12-23 00:35:53 +08:00
Merge branch 'master' into mqtt
This commit is contained in:
63
DMRSlot.cpp
63
DMRSlot.cpp
@@ -81,12 +81,13 @@ m_rfEmbeddedData(NULL),
|
||||
m_rfEmbeddedReadN(0U),
|
||||
m_rfEmbeddedWriteN(1U),
|
||||
m_rfTalkerId(TALKER_ID_NONE),
|
||||
m_rfTalkerAlias(),
|
||||
m_rfTalkerAlias(slotNo),
|
||||
m_netEmbeddedLC(),
|
||||
m_netEmbeddedData(NULL),
|
||||
m_netEmbeddedReadN(0U),
|
||||
m_netEmbeddedWriteN(1U),
|
||||
m_netTalkerId(TALKER_ID_NONE),
|
||||
m_netTalkerAlias(slotNo),
|
||||
m_rfLC(NULL),
|
||||
m_netLC(NULL),
|
||||
m_rfSeqNo(0U),
|
||||
@@ -695,7 +696,7 @@ bool CDMRSlot::writeModem(unsigned char *data, unsigned int len)
|
||||
case FLCO_GPS_INFO:
|
||||
if (m_dumpTAData) {
|
||||
::sprintf(text, "DMR Slot %u, Embedded GPS Info", m_slotNo);
|
||||
CUtils::dump(2U, text, data, 9U);
|
||||
CUtils::dump(1U, text, data, 9U);
|
||||
logGPSPosition(data);
|
||||
}
|
||||
if (m_network != NULL)
|
||||
@@ -709,12 +710,12 @@ bool CDMRSlot::writeModem(unsigned char *data, unsigned int len)
|
||||
if (!(m_rfTalkerId & TALKER_ID_HEADER)) {
|
||||
if (m_rfTalkerId == TALKER_ID_NONE)
|
||||
m_rfTalkerAlias.reset();
|
||||
m_rfTalkerAlias.add(0, data + 2U, 7U);
|
||||
m_display->writeDMRTA(m_slotNo, (unsigned char*)m_rfTalkerAlias.get(), "R");
|
||||
m_rfTalkerAlias.add(0U, data + 2U, 7U);
|
||||
m_display->writeDMRTA(m_slotNo, m_rfTalkerAlias.get(), "R");
|
||||
|
||||
if (m_dumpTAData) {
|
||||
::sprintf(text, "DMR Slot %u, Embedded Talker Alias Header", m_slotNo);
|
||||
CUtils::dump(2U, text, data, 9U);
|
||||
CUtils::dump(1U, text, data, 9U);
|
||||
}
|
||||
|
||||
m_rfTalkerId |= TALKER_ID_HEADER;
|
||||
@@ -728,12 +729,12 @@ bool CDMRSlot::writeModem(unsigned char *data, unsigned int len)
|
||||
if (!(m_rfTalkerId & TALKER_ID_BLOCK1)) {
|
||||
if (m_rfTalkerId == TALKER_ID_NONE)
|
||||
m_rfTalkerAlias.reset();
|
||||
m_rfTalkerAlias.add(1, data + 2U, 7U);
|
||||
m_display->writeDMRTA(m_slotNo, (unsigned char*)m_rfTalkerAlias.get(), "R");
|
||||
m_rfTalkerAlias.add(1U, data + 2U, 7U);
|
||||
m_display->writeDMRTA(m_slotNo, m_rfTalkerAlias.get(), "R");
|
||||
|
||||
if (m_dumpTAData) {
|
||||
::sprintf(text, "DMR Slot %u, Embedded Talker Alias Block 1", m_slotNo);
|
||||
CUtils::dump(2U, text, data, 9U);
|
||||
CUtils::dump(1U, text, data, 9U);
|
||||
}
|
||||
|
||||
m_rfTalkerId |= TALKER_ID_BLOCK1;
|
||||
@@ -747,12 +748,12 @@ bool CDMRSlot::writeModem(unsigned char *data, unsigned int len)
|
||||
if (!(m_rfTalkerId & TALKER_ID_BLOCK2)) {
|
||||
if (m_rfTalkerId == TALKER_ID_NONE)
|
||||
m_rfTalkerAlias.reset();
|
||||
m_rfTalkerAlias.add(2, data + 2U, 7U);
|
||||
m_display->writeDMRTA(m_slotNo, (unsigned char*)m_rfTalkerAlias.get(), "R");
|
||||
m_rfTalkerAlias.add(2U, data + 2U, 7U);
|
||||
m_display->writeDMRTA(m_slotNo, m_rfTalkerAlias.get(), "R");
|
||||
|
||||
if (m_dumpTAData) {
|
||||
::sprintf(text, "DMR Slot %u, Embedded Talker Alias Block 2", m_slotNo);
|
||||
CUtils::dump(2U, text, data, 9U);
|
||||
CUtils::dump(1U, text, data, 9U);
|
||||
}
|
||||
|
||||
m_rfTalkerId |= TALKER_ID_BLOCK2;
|
||||
@@ -766,12 +767,12 @@ bool CDMRSlot::writeModem(unsigned char *data, unsigned int len)
|
||||
if (!(m_rfTalkerId & TALKER_ID_BLOCK3)) {
|
||||
if (m_rfTalkerId == TALKER_ID_NONE)
|
||||
m_rfTalkerAlias.reset();
|
||||
m_rfTalkerAlias.add(3, data + 2U, 7U);
|
||||
m_display->writeDMRTA(m_slotNo, (unsigned char*)m_rfTalkerAlias.get(), "R");
|
||||
m_rfTalkerAlias.add(3U, data + 2U, 7U);
|
||||
m_display->writeDMRTA(m_slotNo, m_rfTalkerAlias.get(), "R");
|
||||
|
||||
if (m_dumpTAData) {
|
||||
::sprintf(text, "DMR Slot %u, Embedded Talker Alias Block 3", m_slotNo);
|
||||
CUtils::dump(2U, text, data, 9U);
|
||||
CUtils::dump(1U, text, data, 9U);
|
||||
}
|
||||
|
||||
m_rfTalkerId |= TALKER_ID_BLOCK3;
|
||||
@@ -1538,20 +1539,20 @@ void CDMRSlot::writeNetwork(const CDMRData& dmrData)
|
||||
case FLCO_GPS_INFO:
|
||||
if (m_dumpTAData) {
|
||||
::sprintf(text, "DMR Slot %u, Embedded GPS Info", m_slotNo);
|
||||
CUtils::dump(2U, text, data, 9U);
|
||||
CUtils::dump(1U, text, data, 9U);
|
||||
logGPSPosition(data);
|
||||
}
|
||||
break;
|
||||
case FLCO_TALKER_ALIAS_HEADER:
|
||||
if (!(m_netTalkerId & TALKER_ID_HEADER)) {
|
||||
if (!m_netTalkerId)
|
||||
m_rfTalkerAlias.reset();
|
||||
m_rfTalkerAlias.add(0, data + 2U, 7U);
|
||||
m_display->writeDMRTA(m_slotNo, (unsigned char*)m_rfTalkerAlias.get(), "N");
|
||||
m_netTalkerAlias.reset();
|
||||
m_netTalkerAlias.add(0U, data + 2U, 7U);
|
||||
m_display->writeDMRTA(m_slotNo, m_netTalkerAlias.get(), "N");
|
||||
|
||||
if (m_dumpTAData) {
|
||||
::sprintf(text, "DMR Slot %u, Embedded Talker Alias Header", m_slotNo);
|
||||
CUtils::dump(2U, text, data, 9U);
|
||||
CUtils::dump(1U, text, data, 9U);
|
||||
}
|
||||
|
||||
m_netTalkerId |= TALKER_ID_HEADER;
|
||||
@@ -1560,13 +1561,13 @@ void CDMRSlot::writeNetwork(const CDMRData& dmrData)
|
||||
case FLCO_TALKER_ALIAS_BLOCK1:
|
||||
if (!(m_netTalkerId & TALKER_ID_BLOCK1)) {
|
||||
if (!m_netTalkerId)
|
||||
m_rfTalkerAlias.reset();
|
||||
m_rfTalkerAlias.add(1, data + 2U, 7U);
|
||||
m_display->writeDMRTA(m_slotNo, (unsigned char*)m_rfTalkerAlias.get(), "N");
|
||||
m_netTalkerAlias.reset();
|
||||
m_netTalkerAlias.add(1U, data + 2U, 7U);
|
||||
m_display->writeDMRTA(m_slotNo, m_netTalkerAlias.get(), "N");
|
||||
|
||||
if (m_dumpTAData) {
|
||||
::sprintf(text, "DMR Slot %u, Embedded Talker Alias Block 1", m_slotNo);
|
||||
CUtils::dump(2U, text, data, 9U);
|
||||
CUtils::dump(1U, text, data, 9U);
|
||||
}
|
||||
|
||||
m_netTalkerId |= TALKER_ID_BLOCK1;
|
||||
@@ -1575,13 +1576,13 @@ void CDMRSlot::writeNetwork(const CDMRData& dmrData)
|
||||
case FLCO_TALKER_ALIAS_BLOCK2:
|
||||
if (!(m_netTalkerId & TALKER_ID_BLOCK2)) {
|
||||
if (!m_netTalkerId)
|
||||
m_rfTalkerAlias.reset();
|
||||
m_rfTalkerAlias.add(2, data + 2U, 7U);
|
||||
m_display->writeDMRTA(m_slotNo, (unsigned char*)m_rfTalkerAlias.get(), "N");
|
||||
m_netTalkerAlias.reset();
|
||||
m_netTalkerAlias.add(2U, data + 2U, 7U);
|
||||
m_display->writeDMRTA(m_slotNo, m_netTalkerAlias.get(), "N");
|
||||
|
||||
if (m_dumpTAData) {
|
||||
::sprintf(text, "DMR Slot %u, Embedded Talker Alias Block 2", m_slotNo);
|
||||
CUtils::dump(2U, text, data, 9U);
|
||||
CUtils::dump(1U, text, data, 9U);
|
||||
}
|
||||
|
||||
m_netTalkerId |= TALKER_ID_BLOCK2;
|
||||
@@ -1590,13 +1591,13 @@ void CDMRSlot::writeNetwork(const CDMRData& dmrData)
|
||||
case FLCO_TALKER_ALIAS_BLOCK3:
|
||||
if (!(m_netTalkerId & TALKER_ID_BLOCK3)) {
|
||||
if (!m_netTalkerId)
|
||||
m_rfTalkerAlias.reset();
|
||||
m_rfTalkerAlias.add(3, data+2U, 7U);
|
||||
m_display->writeDMRTA(m_slotNo, (unsigned char*)m_rfTalkerAlias.get(), "N");
|
||||
m_netTalkerAlias.reset();
|
||||
m_netTalkerAlias.add(3U, data + 2U, 7U);
|
||||
m_display->writeDMRTA(m_slotNo, m_netTalkerAlias.get(), "N");
|
||||
|
||||
if (m_dumpTAData) {
|
||||
::sprintf(text, "DMR Slot %u, Embedded Talker Alias Block 3", m_slotNo);
|
||||
CUtils::dump(2U, text, data, 9U);
|
||||
CUtils::dump(1U, text, data, 9U);
|
||||
}
|
||||
|
||||
m_netTalkerId |= TALKER_ID_BLOCK3;
|
||||
|
||||
Reference in New Issue
Block a user