mirror of
https://github.com/g4klx/MMDVMHost.git
synced 2025-12-06 05:32:00 +01:00
Merge branch 'master' into dmr_beacons
This commit is contained in:
commit
b38ba239a8
2
Conf.cpp
2
Conf.cpp
|
|
@ -146,7 +146,7 @@ m_dmrSlot2TGWhiteList(),
|
|||
m_dmrCallHang(10U),
|
||||
m_dmrTXHang(4U),
|
||||
m_dmrModeHang(10U),
|
||||
m_dmrOVCM(true),
|
||||
m_dmrOVCM(false),
|
||||
m_fusionEnabled(false),
|
||||
m_fusionLowDeviation(false),
|
||||
m_fusionRemoteGateway(false),
|
||||
|
|
|
|||
24
DMRCSBK.cpp
24
DMRCSBK.cpp
|
|
@ -1,5 +1,6 @@
|
|||
/*
|
||||
* Copyright (C) 2015,2016 by Jonathan Naylor G4KLX
|
||||
* Copyright (C) 2019 by Patrick Maier DK5MP
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
|
|
@ -149,6 +150,29 @@ unsigned char CDMRCSBK::getFID() const
|
|||
return m_FID;
|
||||
}
|
||||
|
||||
bool CDMRCSBK::getOVCM() const
|
||||
{
|
||||
bool bOVCM = false;
|
||||
// Service options informations are only available in
|
||||
// "Unit to Unit Voice Service Request CSBK" and
|
||||
// "Unit to Unit Voice Service Answer Response CSBK"
|
||||
if ((m_CSBKO == CSBKO_UUVREQ) || (m_CSBKO == CSBKO_UUANSRSP))
|
||||
bOVCM = (m_data[2U] & 0x04U) == 0x04U;
|
||||
|
||||
return bOVCM;
|
||||
}
|
||||
|
||||
void CDMRCSBK::setOVCM(bool ovcm)
|
||||
{
|
||||
// Set OVCM only in CSBKs having the service options information
|
||||
if ((m_CSBKO == CSBKO_UUVREQ) || (m_CSBKO == CSBKO_UUANSRSP)) {
|
||||
if (ovcm)
|
||||
m_data[2U] |= 0x04U;
|
||||
else
|
||||
m_data[2U] &= 0xFBU;
|
||||
}
|
||||
}
|
||||
|
||||
bool CDMRCSBK::getGI() const
|
||||
{
|
||||
return m_GI;
|
||||
|
|
|
|||
|
|
@ -45,6 +45,10 @@ public:
|
|||
CSBKO getCSBKO() const;
|
||||
unsigned char getFID() const;
|
||||
|
||||
// Set/Get the OVCM bit in the supported CSBKs
|
||||
bool getOVCM() const;
|
||||
void setOVCM(bool ovcm);
|
||||
|
||||
// For BS Dwn Act
|
||||
unsigned int getBSId() const;
|
||||
|
||||
|
|
|
|||
42048
DMRIds.dat
42048
DMRIds.dat
File diff suppressed because it is too large
Load diff
|
|
@ -43,7 +43,7 @@ CDisplay* CDMRSlot::m_display = NULL;
|
|||
bool CDMRSlot::m_duplex = true;
|
||||
CDMRLookup* CDMRSlot::m_lookup = NULL;
|
||||
unsigned int CDMRSlot::m_hangCount = 3U * 17U;
|
||||
bool CDMRSlot::m_ovcm = true;
|
||||
bool CDMRSlot::m_ovcm = false;
|
||||
|
||||
CRSSIInterpolator* CDMRSlot::m_rssiMapper = NULL;
|
||||
|
||||
|
|
@ -437,6 +437,9 @@ bool CDMRSlot::writeModem(unsigned char *data, unsigned int len)
|
|||
if (csbko == CSBKO_BSDWNACT)
|
||||
return false;
|
||||
|
||||
// set the OVCM bit for the supported csbk
|
||||
csbk.setOVCM(m_ovcm);
|
||||
|
||||
bool gi = csbk.getGI();
|
||||
unsigned int srcId = csbk.getSrcId();
|
||||
unsigned int dstId = csbk.getDstId();
|
||||
|
|
@ -1571,6 +1574,9 @@ void CDMRSlot::writeNetwork(const CDMRData& dmrData)
|
|||
if (csbko == CSBKO_BSDWNACT)
|
||||
return;
|
||||
|
||||
// set the OVCM bit for the supported csbk
|
||||
csbk.setOVCM(m_ovcm);
|
||||
|
||||
bool gi = csbk.getGI();
|
||||
unsigned int srcId = csbk.getSrcId();
|
||||
unsigned int dstId = csbk.getDstId();
|
||||
|
|
|
|||
|
|
@ -72,7 +72,7 @@ bool CDMRTA::decodeTA()
|
|||
|
||||
unsigned int TAformat = (talkerAlias[0] >> 6U) & 0x03U;
|
||||
unsigned int TAsize = (talkerAlias[0] >> 1U) & 0x1FU;
|
||||
::strncpy(m_TA, "(could not decode)", sizeof(m_TA));
|
||||
::memcpy(m_TA, "(could not decode)", sizeof(m_TA));
|
||||
|
||||
switch (TAformat) {
|
||||
case 0U: // 7 bit
|
||||
|
|
@ -96,7 +96,7 @@ bool CDMRTA::decodeTA()
|
|||
|
||||
case 1U: // ISO 8 bit
|
||||
case 2U: // UTF8
|
||||
::strncpy(m_TA, (char*)talkerAlias + 1U, sizeof(m_TA));
|
||||
::memcpy(m_TA, talkerAlias + 1U, sizeof(m_TA));
|
||||
break;
|
||||
|
||||
case 3U: // UTF16 poor man's conversion
|
||||
|
|
@ -117,9 +117,9 @@ bool CDMRTA::decodeTA()
|
|||
|
||||
if (TAlen > TAsize) {
|
||||
if (TAlen < 29U)
|
||||
strcat(m_TA," ?");
|
||||
strcat(m_TA, " ?");
|
||||
else
|
||||
strcpy(m_TA + 28U," ?");
|
||||
strcpy(m_TA + 28U, " ?");
|
||||
}
|
||||
|
||||
return TAlen >= TAsize;
|
||||
|
|
|
|||
|
|
@ -107,7 +107,7 @@ DumpTAData=1
|
|||
CallHang=3
|
||||
TXHang=4
|
||||
# ModeHang=10
|
||||
OVCM=1
|
||||
# OVCM=0
|
||||
|
||||
[System Fusion]
|
||||
Enable=1
|
||||
|
|
|
|||
Loading…
Reference in a new issue