Align with 48kHz branch.

This commit is contained in:
Jonathan Naylor 2016-04-03 19:21:24 +01:00
parent 2e67f92f67
commit d2b858e51f
1 changed files with 13 additions and 8 deletions

View File

@ -104,11 +104,11 @@ bool CDMRSlotRX::processSample(q15_t sample)
m_bitBuffer[m_bitPtr] |= 0x01U; m_bitBuffer[m_bitPtr] |= 0x01U;
if (m_state == DMRRXS_NONE) { if (m_state == DMRRXS_NONE) {
if (m_dataPtr >= 420U && m_dataPtr <= 500U) if (m_dataPtr >= 420U && m_dataPtr <= 455U)
correlateSync(); correlateSync();
} else { } else {
uint16_t min = m_syncPtr - 2U; uint16_t min = m_syncPtr - 1U;
uint16_t max = m_syncPtr + 2U; uint16_t max = m_syncPtr + 1U;
if (m_dataPtr >= min && m_dataPtr <= max) if (m_dataPtr >= min && m_dataPtr <= max)
correlateSync(); correlateSync();
} }
@ -128,8 +128,6 @@ bool CDMRSlotRX::processSample(q15_t sample)
slotType.decode(frame + 1U, colorCode, dataType); slotType.decode(frame + 1U, colorCode, dataType);
if (colorCode == m_colorCode) { if (colorCode == m_colorCode) {
DEBUG5("DMRSlotRX: data sync found slot/pos/centre/threshold", m_slot ? 2U : 1U, int16_t(m_dataPtr) - 420, m_centre, m_threshold);
m_syncCount = 0U; m_syncCount = 0U;
m_n = 0U; m_n = 0U;
@ -137,6 +135,7 @@ bool CDMRSlotRX::processSample(q15_t sample)
switch (dataType) { switch (dataType) {
case DT_DATA_HEADER: case DT_DATA_HEADER:
DEBUG5("DMRSlotRX: data header found slot/pos/centre/threshold", m_slot ? 2U : 1U, int16_t(m_dataPtr) - 420, m_centre, m_threshold);
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; m_type = dataType;
@ -145,27 +144,33 @@ bool CDMRSlotRX::processSample(q15_t sample)
case DT_RATE_34_DATA: case DT_RATE_34_DATA:
case DT_RATE_1_DATA: case DT_RATE_1_DATA:
if (m_state == DMRRXS_DATA) { if (m_state == DMRRXS_DATA) {
serial.writeDMRData(m_slot, frame, DMR_FRAME_LENGTH_BYTES + 1U); DEBUG5("DMRSlotRX: data payload found slot/pos/centre/threshold", m_slot ? 2U : 1U, int16_t(m_dataPtr) - 420, m_centre, m_threshold);
m_type = dataType; serial.writeDMRData(m_slot, frame, DMR_FRAME_LENGTH_BYTES + 1U);
m_type = dataType;
} }
break; break;
case DT_VOICE_LC_HEADER: case DT_VOICE_LC_HEADER:
DEBUG5("DMRSlotRX: voice header found slot/pos/centre/threshold", m_slot ? 2U : 1U, int16_t(m_dataPtr) - 420, m_centre, m_threshold);
serial.writeDMRData(m_slot, frame, DMR_FRAME_LENGTH_BYTES + 1U); serial.writeDMRData(m_slot, frame, DMR_FRAME_LENGTH_BYTES + 1U);
m_state = DMRRXS_VOICE; m_state = DMRRXS_VOICE;
break; break;
case DT_VOICE_PI_HEADER: case DT_VOICE_PI_HEADER:
if (m_state == DMRRXS_VOICE) if (m_state == DMRRXS_VOICE) {
DEBUG5("DMRSlotRX: voice pi header found slot/pos/centre/threshold", m_slot ? 2U : 1U, int16_t(m_dataPtr) - 420, m_centre, m_threshold);
serial.writeDMRData(m_slot, frame, DMR_FRAME_LENGTH_BYTES + 1U); serial.writeDMRData(m_slot, frame, DMR_FRAME_LENGTH_BYTES + 1U);
}
m_state = DMRRXS_VOICE; m_state = DMRRXS_VOICE;
break; break;
case DT_TERMINATOR_WITH_LC: case DT_TERMINATOR_WITH_LC:
if (m_state == DMRRXS_VOICE) { if (m_state == DMRRXS_VOICE) {
DEBUG5("DMRSlotRX: voice terminator found slot/pos/centre/threshold", m_slot ? 2U : 1U, int16_t(m_dataPtr) - 420, m_centre, m_threshold);
serial.writeDMRData(m_slot, frame, DMR_FRAME_LENGTH_BYTES + 1U); serial.writeDMRData(m_slot, frame, DMR_FRAME_LENGTH_BYTES + 1U);
m_state = DMRRXS_NONE; m_state = DMRRXS_NONE;
m_endPtr = NOENDPTR; m_endPtr = NOENDPTR;
} }
break; break;
default: // DT_CSBK default: // DT_CSBK
DEBUG5("DMRSlotRX: csbk found slot/pos/centre/threshold", m_slot ? 2U : 1U, int16_t(m_dataPtr) - 420, m_centre, m_threshold);
serial.writeDMRData(m_slot, frame, DMR_FRAME_LENGTH_BYTES + 1U); serial.writeDMRData(m_slot, frame, DMR_FRAME_LENGTH_BYTES + 1U);
m_state = DMRRXS_NONE; m_state = DMRRXS_NONE;
m_endPtr = NOENDPTR; m_endPtr = NOENDPTR;