mirror of
https://github.com/g4klx/MMDVMHost
synced 2025-12-21 15:09:23 +08:00
Add extra Preamble CSBK data dumping.
This commit is contained in:
21
DMRCSBK.cpp
21
DMRCSBK.cpp
@@ -31,7 +31,9 @@ m_FID(0x00U),
|
|||||||
m_GI(false),
|
m_GI(false),
|
||||||
m_bsId(0U),
|
m_bsId(0U),
|
||||||
m_srcId(0U),
|
m_srcId(0U),
|
||||||
m_dstId(0U)
|
m_dstId(0U),
|
||||||
|
m_dataContent(false),
|
||||||
|
m_CBF(0U)
|
||||||
{
|
{
|
||||||
m_data = new unsigned char[12U];
|
m_data = new unsigned char[12U];
|
||||||
}
|
}
|
||||||
@@ -62,6 +64,9 @@ bool CDMRCSBK::put(const unsigned char* bytes)
|
|||||||
m_CSBKO = CSBKO(m_data[0U] & 0x3FU);
|
m_CSBKO = CSBKO(m_data[0U] & 0x3FU);
|
||||||
m_FID = m_data[1U];
|
m_FID = m_data[1U];
|
||||||
|
|
||||||
|
m_dataContent = false;
|
||||||
|
m_CBF = 0U;
|
||||||
|
|
||||||
switch (m_CSBKO) {
|
switch (m_CSBKO) {
|
||||||
case CSBKO_BSDWNACT:
|
case CSBKO_BSDWNACT:
|
||||||
m_bsId = m_data[4U] << 16 | m_data[5U] << 8 | m_data[6U];
|
m_bsId = m_data[4U] << 16 | m_data[5U] << 8 | m_data[6U];
|
||||||
@@ -85,7 +90,9 @@ bool CDMRCSBK::put(const unsigned char* bytes)
|
|||||||
m_GI = (m_data[2U] & 0x40U) == 0x40U;
|
m_GI = (m_data[2U] & 0x40U) == 0x40U;
|
||||||
m_dstId = m_data[4U] << 16 | m_data[5U] << 8 | m_data[6U];
|
m_dstId = m_data[4U] << 16 | m_data[5U] << 8 | m_data[6U];
|
||||||
m_srcId = m_data[7U] << 16 | m_data[8U] << 8 | m_data[9U];
|
m_srcId = m_data[7U] << 16 | m_data[8U] << 8 | m_data[9U];
|
||||||
CUtils::dump(1U, "Preamble CSBK", m_data, 12U);
|
m_dataContent = (m_data[2U] & 0x80U) == 0x80U;
|
||||||
|
m_CBF = m_data[3U];
|
||||||
|
// CUtils::dump(1U, "Preamble CSBK", m_data, 12U);
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case CSBKO_NACKRSP:
|
case CSBKO_NACKRSP:
|
||||||
@@ -141,3 +148,13 @@ unsigned int CDMRCSBK::getDstId() const
|
|||||||
{
|
{
|
||||||
return m_dstId;
|
return m_dstId;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
bool CDMRCSBK::getDataContent() const
|
||||||
|
{
|
||||||
|
return m_dataContent;
|
||||||
|
}
|
||||||
|
|
||||||
|
unsigned char CDMRCSBK::getCBF() const
|
||||||
|
{
|
||||||
|
return m_CBF;
|
||||||
|
}
|
||||||
|
|||||||
@@ -54,6 +54,9 @@ public:
|
|||||||
unsigned int getSrcId() const;
|
unsigned int getSrcId() const;
|
||||||
unsigned int getDstId() const;
|
unsigned int getDstId() const;
|
||||||
|
|
||||||
|
bool getDataContent() const;
|
||||||
|
unsigned char getCBF() const;
|
||||||
|
|
||||||
private:
|
private:
|
||||||
unsigned char* m_data;
|
unsigned char* m_data;
|
||||||
CSBKO m_CSBKO;
|
CSBKO m_CSBKO;
|
||||||
@@ -62,6 +65,8 @@ private:
|
|||||||
unsigned int m_bsId;
|
unsigned int m_bsId;
|
||||||
unsigned int m_srcId;
|
unsigned int m_srcId;
|
||||||
unsigned int m_dstId;
|
unsigned int m_dstId;
|
||||||
|
bool m_dataContent;
|
||||||
|
unsigned char m_CBF;
|
||||||
};
|
};
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|||||||
@@ -363,7 +363,7 @@ void CDMRSlot::writeModem(unsigned char *data, unsigned int len)
|
|||||||
LogMessage("DMR Slot %u, received RF Negative Acknowledgment Response CSBK from %s to %s%s", m_slotNo, src.c_str(), gi ? "TG ": "", dst.c_str());
|
LogMessage("DMR Slot %u, received RF Negative Acknowledgment Response CSBK from %s to %s%s", m_slotNo, src.c_str(), gi ? "TG ": "", dst.c_str());
|
||||||
break;
|
break;
|
||||||
case CSBKO_PRECCSBK:
|
case CSBKO_PRECCSBK:
|
||||||
LogMessage("DMR Slot %u, received RF Preamble CSBK from %s to %s%s", m_slotNo, src.c_str(), gi ? "TG ": "", dst.c_str());
|
LogMessage("DMR Slot %u, received RF %s Preamble CSBK (%u to follow) from %s to %s%s", m_slotNo, csbk.getDataContent() ? "Data" : "CSBK", csbk.getCBF(), src.c_str(), gi ? "TG ": "", dst.c_str());
|
||||||
break;
|
break;
|
||||||
default:
|
default:
|
||||||
LogWarning("DMR Slot %u, unhandled RF CSBK type - 0x%02X", m_slotNo, csbko);
|
LogWarning("DMR Slot %u, unhandled RF CSBK type - 0x%02X", m_slotNo, csbko);
|
||||||
@@ -1226,7 +1226,7 @@ void CDMRSlot::writeNetwork(const CDMRData& dmrData)
|
|||||||
LogMessage("DMR Slot %u, received network Negative Acknowledgment Response CSBK from %s to %s%s", m_slotNo, src.c_str(), gi ? "TG ": "", dst.c_str());
|
LogMessage("DMR Slot %u, received network Negative Acknowledgment Response CSBK from %s to %s%s", m_slotNo, src.c_str(), gi ? "TG ": "", dst.c_str());
|
||||||
break;
|
break;
|
||||||
case CSBKO_PRECCSBK:
|
case CSBKO_PRECCSBK:
|
||||||
LogMessage("DMR Slot %u, received network Preamble CSBK from %s to %s%s", m_slotNo, src.c_str(), gi ? "TG ": "", dst.c_str());
|
LogMessage("DMR Slot %u, received network %s Preamble CSBK (%u to follow) from %s to %s%s", m_slotNo, csbk.getDataContent() ? "Data" : "CSBK", csbk.getCBF(), src.c_str(), gi ? "TG " : "", dst.c_str());
|
||||||
break;
|
break;
|
||||||
default:
|
default:
|
||||||
LogWarning("DMR Slot %u, unhandled network CSBK type - 0x%02X", m_slotNo, csbko);
|
LogWarning("DMR Slot %u, unhandled network CSBK type - 0x%02X", m_slotNo, csbko);
|
||||||
|
|||||||
Reference in New Issue
Block a user