diff --git a/DMRDMOTX.cpp b/DMRDMOTX.cpp index deb4ff8..f491f13 100644 --- a/DMRDMOTX.cpp +++ b/DMRDMOTX.cpp @@ -21,6 +21,13 @@ #include "Config.h" #include "Globals.h" +// PR FILL pattern +const uint8_t PR_FILL[] = + {0x63U, 0xEAU, 0x00U, 0x76U, 0x6CU, 0x76U, 0xC4U, 0x52U, 0xC8U, 0x78U, + 0x09U, 0x2DU, 0xB8U, 0x79U, 0x27U, 0x57U, 0x9BU, 0x31U, 0xBCU, 0x3EU, + 0xEAU, 0x45U, 0xC3U, 0x30U, 0x49U, 0x17U, 0x93U, 0xAEU, 0x8BU, 0x6DU, + 0xA4U, 0xA5U, 0xADU, 0xA2U, 0xF1U, 0x35U, 0xB5U, 0x3CU, 0x1EU}; + const uint8_t DMR_SYNC = 0x5FU; CDMRDMOTX::CDMRDMOTX() : @@ -51,13 +58,15 @@ void CDMRDMOTX::process() } else { m_delay = false; - for (unsigned int i = 0U; i < 72U; i++) - m_poBuffer[m_poLen++] = DMR_SYNC; - for (unsigned int i = 0U; i < DMR_FRAME_LENGTH_BYTES; i++) m_poBuffer[i] = m_fifo.get(); + + for (unsigned int i = 0U; i < 39U; i++) + m_poBuffer[i + DMR_FRAME_LENGTH_BYTES] = PR_FILL[i]; + } m_poPtr = 0U; + m_poLen = 72U; } }