Skip to content

Commit 452be45

Browse files
authored
Merge pull request #742 from iddq/master
Add Radio Check CSBK
2 parents d94043e + 82024fa commit 452be45

File tree

3 files changed

+22
-0
lines changed

3 files changed

+22
-0
lines changed

DMRCSBK.cpp

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -129,6 +129,21 @@ bool CDMRCSBK::put(const unsigned char* bytes)
129129
CUtils::dump(1U, "Call Alert Ack CSBK", m_data, 12U);
130130
break;
131131

132+
case CSBKO_RADIO_CHECK:
133+
m_GI = false;
134+
if (m_data[3U] == 0x80) {
135+
m_dstId = m_data[4U] << 16 | m_data[5U] << 8 | m_data[6U];
136+
m_srcId = m_data[7U] << 16 | m_data[8U] << 8 | m_data[9U];
137+
CUtils::dump(1U, "Radio Check Req CSBK", m_data, 12U);
138+
} else {
139+
m_srcId = m_data[4U] << 16 | m_data[5U] << 8 | m_data[6U];
140+
m_dstId = m_data[7U] << 16 | m_data[8U] << 8 | m_data[9U];
141+
CUtils::dump(1U, "Radio Check Ack CSBK", m_data, 12U);
142+
}
143+
m_dataContent = false;
144+
m_CBF = 0U;
145+
break;
146+
132147
default:
133148
m_GI = false;
134149
m_srcId = 0U;

DMRCSBK.h

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -28,6 +28,7 @@ enum CSBKO {
2828
CSBKO_CTCSBK = 0x07,
2929
CSBKO_CALL_ALERT = 0x1F,
3030
CSBKO_CALL_ALERT_ACK = 0x20,
31+
CSBKO_RADIO_CHECK = 0x24,
3132
CSBKO_NACKRSP = 0x26,
3233
CSBKO_BSDWNACT = 0x38,
3334
CSBKO_PRECCSBK = 0x3D

DMRSlot.cpp

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -508,6 +508,9 @@ bool CDMRSlot::writeModem(unsigned char *data, unsigned int len)
508508
case CSBKO_CALL_ALERT_ACK:
509509
LogMessage("DMR Slot %u, received RF Call Alert Ack CSBK from %s to %s%s", m_slotNo, src.c_str(), gi ? "TG " : "", dst.c_str());
510510
break;
511+
case CSBKO_RADIO_CHECK:
512+
LogMessage("DMR Slot %u, received RF Radio Check %s CSBK from %s to %s%s", m_slotNo, /* TBD */ 1 ? "Req" : "Ack", src.c_str(), gi ? "TG " : "", dst.c_str());
513+
break;
511514
default:
512515
LogWarning("DMR Slot %u, unhandled RF CSBK type - 0x%02X", m_slotNo, csbko);
513516
break;
@@ -1695,6 +1698,9 @@ void CDMRSlot::writeNetwork(const CDMRData& dmrData)
16951698
case CSBKO_CALL_ALERT_ACK:
16961699
LogMessage("DMR Slot %u, received network Call Alert Ack CSBK from %s to %s%s", m_slotNo, src.c_str(), gi ? "TG " : "", dst.c_str());
16971700
break;
1701+
case CSBKO_RADIO_CHECK:
1702+
LogMessage("DMR Slot %u, received network Radio Check %s CSBK from %s to %s%s", m_slotNo, /* TBD */ 1 ? "Req" : "Ack", src.c_str(), gi ? "TG " : "", dst.c_str());
1703+
break;
16981704
default:
16991705
LogWarning("DMR Slot %u, unhandled network CSBK type - 0x%02X", m_slotNo, csbko);
17001706
break;

0 commit comments

Comments
 (0)