mirror of https://github.com/g4klx/MMDVM.git
Remove EMB synchronisation (for now).
This commit is contained in:
parent
c0c12bdb67
commit
01578235a8
|
@ -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;
|
correlateSync();
|
||||||
if (m_dataPtr >= min && m_dataPtr <= max) {
|
} else {
|
||||||
if (m_n >= 5U)
|
|
||||||
correlateSync();
|
|
||||||
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);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -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();
|
||||||
|
|
Loading…
Reference in New Issue