mirror of
https://github.com/g4klx/DMRGateway
synced 2025-12-21 21:45:39 +08:00
Change the voice prompts a little.
This commit is contained in:
@@ -360,8 +360,6 @@ int CDMRGateway::run()
|
|||||||
|
|
||||||
LogMessage("DMRGateway-%s is running", VERSION);
|
LogMessage("DMRGateway-%s is running", VERSION);
|
||||||
|
|
||||||
bool changed = false;
|
|
||||||
|
|
||||||
while (!m_killed) {
|
while (!m_killed) {
|
||||||
if (m_xlxNetwork != NULL) {
|
if (m_xlxNetwork != NULL) {
|
||||||
bool connected = m_xlxNetwork->isConnected();
|
bool connected = m_xlxNetwork->isConnected();
|
||||||
@@ -377,6 +375,9 @@ int CDMRGateway::run()
|
|||||||
if (voice != NULL)
|
if (voice != NULL)
|
||||||
voice->linkedTo(m_xlxNumber, m_xlxRoom);
|
voice->linkedTo(m_xlxNumber, m_xlxRoom);
|
||||||
m_xlxReflector = m_xlxRoom;
|
m_xlxReflector = m_xlxRoom;
|
||||||
|
} else {
|
||||||
|
if (voice != NULL)
|
||||||
|
voice->linkedTo(m_xlxNumber, 0U);
|
||||||
}
|
}
|
||||||
|
|
||||||
m_xlxConnected = true;
|
m_xlxConnected = true;
|
||||||
@@ -386,11 +387,10 @@ int CDMRGateway::run()
|
|||||||
else
|
else
|
||||||
m_xlxRelink.start();
|
m_xlxRelink.start();
|
||||||
} else if (!connected && m_xlxConnected) {
|
} else if (!connected && m_xlxConnected) {
|
||||||
if (m_xlxReflector >= 4001U && m_xlxReflector <= 4026U) {
|
LogMessage("XLX, Unlinking from XLX%03u due to loss of connection", m_xlxNumber);
|
||||||
LogMessage("XLX, Unlinking from XLX%03u due to loss of connection", m_xlxNumber);
|
|
||||||
if (voice != NULL)
|
if (voice != NULL)
|
||||||
voice->unlinked();
|
voice->unlinked();
|
||||||
}
|
|
||||||
|
|
||||||
m_xlxReflector = 4000U;
|
m_xlxReflector = 4000U;
|
||||||
m_xlxConnected = false;
|
m_xlxConnected = false;
|
||||||
@@ -421,7 +421,7 @@ int CDMRGateway::run()
|
|||||||
m_xlxReflector = m_xlxRoom;
|
m_xlxReflector = m_xlxRoom;
|
||||||
if (voice != NULL) {
|
if (voice != NULL) {
|
||||||
if (m_xlxReflector < 4001U || m_xlxReflector > 4026U)
|
if (m_xlxReflector < 4001U || m_xlxReflector > 4026U)
|
||||||
voice->unlinked();
|
voice->linkedTo(m_xlxNumber, 0U);
|
||||||
else
|
else
|
||||||
voice->linkedTo(m_xlxNumber, m_xlxReflector);
|
voice->linkedTo(m_xlxNumber, m_xlxReflector);
|
||||||
}
|
}
|
||||||
@@ -453,23 +453,15 @@ int CDMRGateway::run()
|
|||||||
|
|
||||||
if (dstId != m_xlxReflector) {
|
if (dstId != m_xlxReflector) {
|
||||||
if (dstId == 4000U) {
|
if (dstId == 4000U) {
|
||||||
|
writeXLXLink(srcId, 4000U, m_xlxNetwork);
|
||||||
|
m_xlxReflector = 4000U;
|
||||||
LogMessage("XLX, Unlinking from reflector %u in XLX%03u", m_xlxRoom, m_xlxNumber);
|
LogMessage("XLX, Unlinking from reflector %u in XLX%03u", m_xlxRoom, m_xlxNumber);
|
||||||
} else if (dstId == 5000U) {
|
} else if (dstId != 5000U) {
|
||||||
if (m_xlxReflector != 4000U)
|
|
||||||
voice->linkedTo(m_xlxNumber, m_xlxReflector);
|
|
||||||
else
|
|
||||||
voice->unlinked();
|
|
||||||
} else {
|
|
||||||
if (m_xlxReflector != 4000U)
|
if (m_xlxReflector != 4000U)
|
||||||
writeXLXLink(srcId, 4000U, m_xlxNetwork);
|
writeXLXLink(srcId, 4000U, m_xlxNetwork);
|
||||||
|
|
||||||
LogMessage("XLX, Linking to reflector %u in XLX%03u", dstId, m_xlxNumber);
|
|
||||||
}
|
|
||||||
|
|
||||||
if (dstId != 5000U ) {
|
|
||||||
writeXLXLink(srcId, dstId, m_xlxNetwork);
|
writeXLXLink(srcId, dstId, m_xlxNetwork);
|
||||||
m_xlxReflector = dstId;
|
m_xlxReflector = dstId;
|
||||||
changed = true;
|
LogMessage("XLX, Linking to reflector %u in XLX%03u", dstId, m_xlxNumber);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (m_xlxReflector != m_xlxRoom)
|
if (m_xlxReflector != m_xlxRoom)
|
||||||
@@ -485,12 +477,13 @@ int CDMRGateway::run()
|
|||||||
if (voice != NULL) {
|
if (voice != NULL) {
|
||||||
unsigned char type = data.getDataType();
|
unsigned char type = data.getDataType();
|
||||||
if (type == DT_TERMINATOR_WITH_LC) {
|
if (type == DT_TERMINATOR_WITH_LC) {
|
||||||
if (changed) {
|
if (m_xlxConnected) {
|
||||||
if (m_xlxReflector == 4000U)
|
if (m_xlxReflector != 4000U)
|
||||||
voice->unlinked();
|
|
||||||
else
|
|
||||||
voice->linkedTo(m_xlxNumber, m_xlxReflector);
|
voice->linkedTo(m_xlxNumber, m_xlxReflector);
|
||||||
changed = false;
|
else
|
||||||
|
voice->linkedTo(m_xlxNumber, 0U);
|
||||||
|
} else {
|
||||||
|
voice->unlinked();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -140,7 +140,9 @@ void CVoice::linkedTo(unsigned int number, unsigned int room)
|
|||||||
words.push_back(std::string(1U, letters[0U]));
|
words.push_back(std::string(1U, letters[0U]));
|
||||||
words.push_back(std::string(1U, letters[1U]));
|
words.push_back(std::string(1U, letters[1U]));
|
||||||
words.push_back(std::string(1U, letters[2U]));
|
words.push_back(std::string(1U, letters[2U]));
|
||||||
words.push_back(std::string(1U, 'A' + room - 1U));
|
|
||||||
|
if (room >= 1U && room <= 26U)
|
||||||
|
words.push_back(std::string(1U, 'A' + room - 1U));
|
||||||
|
|
||||||
createVoice(words);
|
createVoice(words);
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user