From 5dec3b5a6dbd8e7d7ff04419553d040323cc0ba9 Mon Sep 17 00:00:00 2001 From: Jonathan Naylor Date: Tue, 6 Sep 2016 19:09:46 +0100 Subject: [PATCH] Initial P25 test support. --- Defines.h | 1 + Modem.cpp | 20 ++++++++++++++++++++ 2 files changed, 21 insertions(+) diff --git a/Defines.h b/Defines.h index c4a1419..e959cc6 100644 --- a/Defines.h +++ b/Defines.h @@ -23,6 +23,7 @@ const unsigned char MODE_IDLE = 0U; const unsigned char MODE_DSTAR = 1U; const unsigned char MODE_DMR = 2U; const unsigned char MODE_YSF = 3U; +const unsigned char MODE_P25 = 4U; const unsigned char MODE_LOCKOUT = 99U; const unsigned char MODE_ERROR = 100U; diff --git a/Modem.cpp b/Modem.cpp index 73e85c3..4cdb7e8 100644 --- a/Modem.cpp +++ b/Modem.cpp @@ -61,6 +61,10 @@ const unsigned char MMDVM_DMR_ABORT = 0x1EU; const unsigned char MMDVM_YSF_DATA = 0x20U; const unsigned char MMDVM_YSF_LOST = 0x21U; +const unsigned char MMDVM_P25_HDR = 0x30U; +const unsigned char MMDVM_P25_LDU = 0x31U; +const unsigned char MMDVM_P25_LOST = 0x32U; + const unsigned char MMDVM_ACK = 0x70U; const unsigned char MMDVM_NAK = 0x7FU; @@ -360,6 +364,18 @@ void CModem::clock(unsigned int ms) } break; + case MMDVM_P25_HDR: + CUtils::dump(2U, "RX P25 HDR", m_buffer, m_length); + break; + + case MMDVM_P25_LDU: + CUtils::dump(2U, "RX P25 LDU", m_buffer, m_length); + break; + + case MMDVM_P25_LOST: + CUtils::dump(2U, "RX P25 Lost", m_buffer, m_length); + break; + case MMDVM_GET_STATUS: { // if (m_debug) // CUtils::dump(1U, "GET_STATUS", m_buffer, m_length); @@ -799,6 +815,7 @@ bool CModem::setConfig() buffer[4U] |= 0x02U; if (m_ysfEnabled) buffer[4U] |= 0x04U; + buffer[4U] |= 0x08U; // XXX P25 buffer[5U] = m_txDelay / 10U; // In 10ms units @@ -967,6 +984,9 @@ RESP_TYPE_MMDVM CModem::getResponse() case MMDVM_DMR_LOST2: case MMDVM_YSF_DATA: case MMDVM_YSF_LOST: + case MMDVM_P25_HDR: + case MMDVM_P25_LDU: + case MMDVM_P25_LOST: case MMDVM_GET_STATUS: case MMDVM_GET_VERSION: case MMDVM_ACK: