mirror of https://github.com/g4klx/MMDVM.git
Change the sync bytes to be DMO slot 2.
This commit is contained in:
parent
697cbf9c6c
commit
5efe222ec3
16
DMRDMOTX.cpp
16
DMRDMOTX.cpp
|
@ -104,8 +104,22 @@ uint8_t CDMRDMOTX::writeData(const uint8_t* data, uint8_t length)
|
||||||
if (space < DMR_FRAME_LENGTH_BYTES)
|
if (space < DMR_FRAME_LENGTH_BYTES)
|
||||||
return 5U;
|
return 5U;
|
||||||
|
|
||||||
|
uint8_t buffer[DMR_FRAME_LENGTH_BYTES];
|
||||||
|
::memcpy(buffer, data + 1U, DMR_FRAME_LENGTH_BYTES);
|
||||||
|
|
||||||
|
// Swap the sync bytes to DMO slot 2
|
||||||
|
if (::memcmp(buffer + 14U, DMR_BS_DATA_SYNC_BYTES + 1U, 5U) == 0) {
|
||||||
|
::memcpy(buffer + 14U, DMR_S2_DATA_SYNC_BYTES + 1U, 5U);
|
||||||
|
buffer[13U] &= 0xF0U; buffer[13U] |= DMR_S2_DATA_SYNC_BYTES[0U];
|
||||||
|
buffer[19U] &= 0x0FU; buffer[19U] |= DMR_S2_DATA_SYNC_BYTES[6U];
|
||||||
|
} else if (::memcmp(buffer + 14U, DMR_BS_VOICE_SYNC_BYTES + 1U, 5U) == 0) {
|
||||||
|
::memcpy(buffer + 14U, DMR_S2_VOICE_SYNC_BYTES + 1U, 5U);
|
||||||
|
buffer[13U] &= 0xF0U; buffer[13U] |= DMR_S2_VOICE_SYNC_BYTES[0U];
|
||||||
|
buffer[19U] &= 0x0FU; buffer[19U] |= DMR_S2_VOICE_SYNC_BYTES[6U];
|
||||||
|
}
|
||||||
|
|
||||||
for (uint8_t i = 0U; i < DMR_FRAME_LENGTH_BYTES; i++)
|
for (uint8_t i = 0U; i < DMR_FRAME_LENGTH_BYTES; i++)
|
||||||
m_fifo.put(data[i + 1U]);
|
m_fifo.put(buffer[i]);
|
||||||
|
|
||||||
return 0U;
|
return 0U;
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue