Also set the OVCM bit in the two supported CSBKs: "Unit to Unit Voice Service Request CSBK" and "Unit to Unit Voice Service Answer Response CSBK"
This commit is contained in:
parent
73bf04ad4b
commit
1993262c52
3 changed files with 35 additions and 0 deletions
25
DMRCSBK.cpp
25
DMRCSBK.cpp
|
@ -149,6 +149,31 @@ 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;
|
||||
|
||||
|
|
|
@ -423,6 +423,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();
|
||||
|
@ -1549,6 +1552,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();
|
||||
|
|
Loading…
Reference in a new issue