Remove EMB synchronisation (for now).

This commit is contained in:
Jonathan Naylor 2016-03-25 21:07:47 +00:00
parent c0c12bdb67
commit 01578235a8
2 changed files with 11 additions and 14 deletions

View File

@ -72,7 +72,8 @@ m_syncCount(0U),
m_colorCode(0U), m_colorCode(0U),
m_delay(0U), m_delay(0U),
m_state(DMRRXS_NONE), m_state(DMRRXS_NONE),
m_n(0U) m_n(0U),
m_type(0U)
{ {
} }
@ -116,23 +117,14 @@ bool CDMRSlotRX::processSample(q15_t sample)
if (sample < 0) if (sample < 0)
m_bitBuffer[m_bitPtr] |= 0x01U; m_bitBuffer[m_bitPtr] |= 0x01U;
if (m_state == DMRRXS_VOICE) { if (m_state == DMRRXS_NONE) {
uint16_t min = m_syncPtr - 2U; if (m_dataPtr >= 420U && m_dataPtr <= 500U)
uint16_t max = m_syncPtr + 2U;
if (m_dataPtr >= min && m_dataPtr <= max) {
if (m_n >= 5U)
correlateSync(); correlateSync();
else } else {
correlateEMB();
}
} else if (m_state == DMRRXS_DATA) {
uint16_t min = m_syncPtr - 2U; uint16_t min = m_syncPtr - 2U;
uint16_t max = m_syncPtr + 2U; uint16_t max = m_syncPtr + 2U;
if (m_dataPtr >= min && m_dataPtr <= max) if (m_dataPtr >= min && m_dataPtr <= max)
correlateSync(); correlateSync();
} else {
if (m_dataPtr >= 420U && m_dataPtr <= 500U)
correlateSync();
} }
if (m_dataPtr == m_endPtr) { if (m_dataPtr == m_endPtr) {
@ -162,6 +154,7 @@ bool CDMRSlotRX::processSample(q15_t sample)
case DT_RATE_1_DATA: case DT_RATE_1_DATA:
serial.writeDMRData(m_slot, frame, DMR_FRAME_LENGTH_BYTES + 1U); serial.writeDMRData(m_slot, frame, DMR_FRAME_LENGTH_BYTES + 1U);
m_state = DMRRXS_DATA; m_state = DMRRXS_DATA;
m_type = dataType;
break; break;
case DT_VOICE_LC_HEADER: case DT_VOICE_LC_HEADER:
case DT_VOICE_PI_HEADER: case DT_VOICE_PI_HEADER:
@ -203,6 +196,9 @@ bool CDMRSlotRX::processSample(q15_t sample)
frame[0U] |= ++m_n; frame[0U] |= ++m_n;
serial.writeDMRData(m_slot, frame, DMR_FRAME_LENGTH_BYTES + 1U); serial.writeDMRData(m_slot, frame, DMR_FRAME_LENGTH_BYTES + 1U);
} }
} else if (m_state == DMRRXS_DATA) {
frame[0U] = 0x40U | m_type;
serial.writeDMRData(m_slot, frame, DMR_FRAME_LENGTH_BYTES + 1U);
} }
} }
} }

View File

@ -59,6 +59,7 @@ private:
uint16_t m_delay; uint16_t m_delay;
DMRRX_STATE m_state; DMRRX_STATE m_state;
uint8_t m_n; uint8_t m_n;
uint8_t m_type;
void correlateSync(); void correlateSync();
void correlateEMB(); void correlateEMB();