From b4599dc89cbf5f2c80bd85f7e9ab8fb345f33460 Mon Sep 17 00:00:00 2001 From: Jonathan Naylor Date: Thu, 18 May 2017 12:58:56 +0100 Subject: [PATCH] Remove Talker Alias network reporting rate restriction. --- DMRSlot.cpp | 30 ++++++++++++++++++------------ 1 file changed, 18 insertions(+), 12 deletions(-) diff --git a/DMRSlot.cpp b/DMRSlot.cpp index 812675d..8a9abf4 100644 --- a/DMRSlot.cpp +++ b/DMRSlot.cpp @@ -597,6 +597,7 @@ bool CDMRSlot::writeModem(unsigned char *data, unsigned int len) // ::sprintf(text, "DMR Slot %u, Embedded LC", m_slotNo); // CUtils::dump(1U, text, data, 9U); break; + case FLCO_GPS_INFO: if (m_dumpTAData) { ::sprintf(text, "DMR Slot %u, Embedded GPS Info", m_slotNo); @@ -605,58 +606,63 @@ bool CDMRSlot::writeModem(unsigned char *data, unsigned int len) if (m_network != NULL) m_network->writePosition(m_rfLC->getSrcId(), data); break; + case FLCO_TALKER_ALIAS_HEADER: + if (m_network != NULL) + m_network->writeTalkerAlias(m_rfLC->getSrcId(), 0U, data); + if (!(m_rfTalkerId & TALKER_ID_HEADER)) { if (m_dumpTAData) { ::sprintf(text, "DMR Slot %u, Embedded Talker Alias Header", m_slotNo); CUtils::dump(2U, text, data, 9U); } - if (m_network != NULL) - m_network->writeTalkerAlias(m_rfLC->getSrcId(), 0U, data); - m_rfTalkerId |= TALKER_ID_HEADER; } break; + case FLCO_TALKER_ALIAS_BLOCK1: + if (m_network != NULL) + m_network->writeTalkerAlias(m_rfLC->getSrcId(), 1U, data); + if (!(m_rfTalkerId & TALKER_ID_BLOCK1)) { if (m_dumpTAData) { ::sprintf(text, "DMR Slot %u, Embedded Talker Alias Block 1", m_slotNo); CUtils::dump(2U, text, data, 9U); } - if (m_network != NULL) - m_network->writeTalkerAlias(m_rfLC->getSrcId(), 1U, data); - m_rfTalkerId |= TALKER_ID_BLOCK1; } break; + case FLCO_TALKER_ALIAS_BLOCK2: + if (m_network != NULL) + m_network->writeTalkerAlias(m_rfLC->getSrcId(), 2U, data); + if (!(m_rfTalkerId & TALKER_ID_BLOCK2)) { if (m_dumpTAData) { ::sprintf(text, "DMR Slot %u, Embedded Talker Alias Block 2", m_slotNo); CUtils::dump(2U, text, data, 9U); } - if (m_network != NULL) - m_network->writeTalkerAlias(m_rfLC->getSrcId(), 2U, data); - m_rfTalkerId |= TALKER_ID_BLOCK2; } break; + case FLCO_TALKER_ALIAS_BLOCK3: + if (m_network != NULL) + m_network->writeTalkerAlias(m_rfLC->getSrcId(), 3U, data); + if (!(m_rfTalkerId & TALKER_ID_BLOCK3)) { if (m_dumpTAData) { ::sprintf(text, "DMR Slot %u, Embedded Talker Alias Block 3", m_slotNo); CUtils::dump(2U, text, data, 9U); } - if (m_network != NULL) - m_network->writeTalkerAlias(m_rfLC->getSrcId(), 3U, data); - m_rfTalkerId |= TALKER_ID_BLOCK3; } break; + default: ::sprintf(text, "DMR Slot %u, Unknown Embedded Data", m_slotNo); CUtils::dump(1U, text, data, 9U);