diff --git a/dmr/Control.cpp b/dmr/Control.cpp index 70b57832..d67f3710 100644 --- a/dmr/Control.cpp +++ b/dmr/Control.cpp @@ -126,9 +126,6 @@ void Control::setOptions(yaml::Node& conf, uint32_t netId, uint8_t siteId, uint8 if (backOff > 15U) backOff = 15U; - Slot::setSiteData(netId, siteId, channelId, channelNo); - Slot::setAlohaConfig(nRandWait, backOff); - yaml::Node control = dmrProtocol["control"]; bool enableTSCC = control["enable"].as(false); bool dedicatedTSCC = false; @@ -139,6 +136,9 @@ void Control::setOptions(yaml::Node& conf, uint32_t netId, uint8_t siteId, uint8 dedicatedTSCC = false; } + Slot::setSiteData(netId, siteId, channelId, channelNo, dedicatedTSCC); + Slot::setAlohaConfig(nRandWait, backOff); + m_tsccSlotNo = (uint8_t)control["slot"].as(0U); switch (m_tsccSlotNo) { case 1U: diff --git a/dmr/Slot.cpp b/dmr/Slot.cpp index c8241258..73fc692f 100644 --- a/dmr/Slot.cpp +++ b/dmr/Slot.cpp @@ -637,10 +637,10 @@ void Slot::init(Control* dmr, uint32_t colorCode, SiteData siteData, bool embedd /// DMR Site ID. /// Channel ID. /// Channel Number. -/// -void Slot::setSiteData(uint32_t netId, uint8_t siteId, uint8_t channelId, uint32_t channelNo) +/// +void Slot::setSiteData(uint32_t netId, uint8_t siteId, uint8_t channelId, uint32_t channelNo, bool requireReg) { - m_siteData = SiteData(SITE_MODEL_SMALL, netId, siteId, 3U, true); + m_siteData = SiteData(SITE_MODEL_SMALL, netId, siteId, 3U, requireReg); m_channelNo = channelNo; std::vector entries = m_idenTable->list(); diff --git a/dmr/Slot.h b/dmr/Slot.h index d61a276a..3d0807e0 100644 --- a/dmr/Slot.h +++ b/dmr/Slot.h @@ -110,7 +110,7 @@ namespace dmr network::BaseNetwork* network, bool duplex, lookups::RadioIdLookup* ridLookup, lookups::TalkgroupIdLookup* tidLookup, lookups::IdenTableLookup* idenTable, lookups::RSSIInterpolator* rssiMapper, uint32_t jitter, bool verbose); /// Sets local configured site data. - static void setSiteData(uint32_t netId, uint8_t siteId, uint8_t channelId, uint32_t channelNo); + static void setSiteData(uint32_t netId, uint8_t siteId, uint8_t channelId, uint32_t channelNo, bool requireReq); /// Sets TSCC Aloha configuration. static void setAlohaConfig(uint8_t nRandWait, uint8_t backOff);