mirror of
https://github.com/g4klx/MMDVMHost.git
synced 2026-04-21 06:13:49 +00:00
DMR trunking patches
This commit is contained in:
parent
b5b119fa8e
commit
4ff3bbf766
16 changed files with 696 additions and 55 deletions
|
|
@ -123,7 +123,7 @@ void CDMRNetwork::enable(bool enabled)
|
|||
m_enabled = enabled;
|
||||
}
|
||||
|
||||
bool CDMRNetwork::read(CDMRData& data)
|
||||
bool CDMRNetwork::read(CDMRData& data, TrunkingCommandParameters &command)
|
||||
{
|
||||
if (m_rxData.isEmpty())
|
||||
return false;
|
||||
|
|
@ -131,6 +131,28 @@ bool CDMRNetwork::read(CDMRData& data)
|
|||
unsigned char length = 0U;
|
||||
m_rxData.getData(&length, 1U);
|
||||
m_rxData.getData(m_buffer, length);
|
||||
if (::memcmp(m_buffer, "DMRT", 4U) == 0)
|
||||
{
|
||||
unsigned int command_type = (unsigned int)m_buffer[4U];
|
||||
switch(command_type)
|
||||
{
|
||||
case DMRCommand::ChannelEnableDisable:
|
||||
{
|
||||
command.channelEnable = (m_buffer[5U] & 0x01U) == 0x01U ? true : false;
|
||||
}
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
command.slot = (m_buffer[5U] & 0x80U) == 0x80U ? 2U : 1U;
|
||||
command.commandType = command_type;
|
||||
command.trunkingParams = true;
|
||||
return true;
|
||||
}
|
||||
else
|
||||
{
|
||||
command.trunkingParams = false;
|
||||
}
|
||||
|
||||
// Is this a data packet?
|
||||
if (::memcmp(m_buffer, "DMRD", 4U) != 0)
|
||||
|
|
@ -318,7 +340,7 @@ void CDMRNetwork::clock(unsigned int ms)
|
|||
if (m_debug)
|
||||
CUtils::dump(1U, "DMR Network Received", m_buffer, length);
|
||||
|
||||
if (::memcmp(m_buffer, "DMRD", 4U) == 0) {
|
||||
if ((::memcmp(m_buffer, "DMRD", 4U) == 0) || (::memcmp(m_buffer, "DMRT", 4U) == 0)) {
|
||||
if (m_enabled) {
|
||||
unsigned char len = length;
|
||||
m_rxData.addData(&len, 1U);
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue