Skip to content

Commit ecf21f9

Browse files
committed
Emergency call CSBK support.
1 parent e812e90 commit ecf21f9

File tree

3 files changed

+13
-0
lines changed

3 files changed

+13
-0
lines changed

DMRCSBK.cpp

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -147,6 +147,15 @@ bool CDMRCSBK::put(const unsigned char* bytes)
147147
m_CBF = 0U;
148148
break;
149149

150+
case CSBKO_CALL_EMERGENCY:
151+
m_GI = true;
152+
m_dstId = m_data[4U] << 16 | m_data[5U] << 8 | m_data[6U];
153+
m_srcId = m_data[7U] << 16 | m_data[8U] << 8 | m_data[9U];
154+
m_dataContent = false;
155+
m_CBF = 0U;
156+
CUtils::dump(1U, "Call Emergency CSBK", m_data, 12U);
157+
break;
158+
150159
default:
151160
m_GI = false;
152161
m_srcId = 0U;

DMRCSBK.h

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -30,6 +30,7 @@ enum CSBKO {
3030
CSBKO_CALL_ALERT_ACK = 0x20,
3131
CSBKO_RADIO_CHECK = 0x24,
3232
CSBKO_NACKRSP = 0x26,
33+
CSBKO_CALL_EMERGENCY = 0x27,
3334
CSBKO_BSDWNACT = 0x38,
3435
CSBKO_PRECCSBK = 0x3D
3536
};

DMRSlot.cpp

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -510,6 +510,9 @@ bool CDMRSlot::writeModem(unsigned char *data, unsigned int len)
510510
case CSBKO_RADIO_CHECK:
511511
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());
512512
break;
513+
case CSBKO_CALL_EMERGENCY:
514+
LogMessage("DMR Slot %u, received RF Call Emergency CSBK from %s to %s%s", m_slotNo, src.c_str(), gi ? "TG " : "", dst.c_str());
515+
break;
513516
default:
514517
LogWarning("DMR Slot %u, unhandled RF CSBK type - 0x%02X", m_slotNo, csbko);
515518
break;

0 commit comments

Comments
 (0)