mirror of https://github.com/markqvist/MMDVM.git
Reset items at the end of the slot and transmission.
parent
d948df69a9
commit
697cbf9c6c
23
DMRDMORX.cpp
23
DMRDMORX.cpp
|
@ -64,19 +64,9 @@ m_rssi(0U)
|
||||||
{
|
{
|
||||||
}
|
}
|
||||||
|
|
||||||
void CDMRDMORX::start()
|
|
||||||
{
|
|
||||||
m_dataPtr = 0U;
|
|
||||||
m_bitPtr = 0U;
|
|
||||||
m_maxCorr = 0;
|
|
||||||
m_control = CONTROL_NONE;
|
|
||||||
}
|
|
||||||
|
|
||||||
void CDMRDMORX::reset()
|
void CDMRDMORX::reset()
|
||||||
{
|
{
|
||||||
m_syncPtr = 0U;
|
m_syncPtr = 0U;
|
||||||
m_dataPtr = 0U;
|
|
||||||
m_bitPtr = 0U;
|
|
||||||
m_maxCorr = 0;
|
m_maxCorr = 0;
|
||||||
m_control = CONTROL_NONE;
|
m_control = CONTROL_NONE;
|
||||||
m_syncCount = 0U;
|
m_syncCount = 0U;
|
||||||
|
@ -204,15 +194,13 @@ bool CDMRDMORX::processSample(q15_t sample)
|
||||||
if (m_state == DMORXS_VOICE) {
|
if (m_state == DMORXS_VOICE) {
|
||||||
DEBUG4("DMRDMORX: voice terminator found pos/centre/threshold", m_syncPtr, centre, threshold);
|
DEBUG4("DMRDMORX: voice terminator found pos/centre/threshold", m_syncPtr, centre, threshold);
|
||||||
serial.writeDMRData(true, frame, DMR_FRAME_LENGTH_BYTES + 1U);
|
serial.writeDMRData(true, frame, DMR_FRAME_LENGTH_BYTES + 1U);
|
||||||
m_state = DMORXS_NONE;
|
reset();
|
||||||
m_endPtr = NOENDPTR;
|
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
default: // DT_CSBK
|
default: // DT_CSBK
|
||||||
DEBUG4("DMRDMORX: csbk found pos/centre/threshold", m_syncPtr, centre, threshold);
|
DEBUG4("DMRDMORX: csbk found pos/centre/threshold", m_syncPtr, centre, threshold);
|
||||||
serial.writeDMRData(true, frame, DMR_FRAME_LENGTH_BYTES + 1U);
|
serial.writeDMRData(true, frame, DMR_FRAME_LENGTH_BYTES + 1U);
|
||||||
m_state = DMORXS_NONE;
|
reset();
|
||||||
m_endPtr = NOENDPTR;
|
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -243,8 +231,7 @@ bool CDMRDMORX::processSample(q15_t sample)
|
||||||
m_syncCount++;
|
m_syncCount++;
|
||||||
if (m_syncCount >= MAX_SYNC_LOST_FRAMES) {
|
if (m_syncCount >= MAX_SYNC_LOST_FRAMES) {
|
||||||
serial.writeDMRLost(true);
|
serial.writeDMRLost(true);
|
||||||
m_state = DMORXS_NONE;
|
reset();
|
||||||
m_endPtr = NOENDPTR;
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -278,6 +265,10 @@ bool CDMRDMORX::processSample(q15_t sample)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// End of this slot, reset some items for the next slot.
|
||||||
|
m_maxCorr = 0;
|
||||||
|
m_control = CONTROL_NONE;
|
||||||
}
|
}
|
||||||
|
|
||||||
m_dataPtr++;
|
m_dataPtr++;
|
||||||
|
|
|
@ -34,8 +34,6 @@ class CDMRDMORX {
|
||||||
public:
|
public:
|
||||||
CDMRDMORX();
|
CDMRDMORX();
|
||||||
|
|
||||||
void start();
|
|
||||||
|
|
||||||
void samples(const q15_t* samples, uint8_t length);
|
void samples(const q15_t* samples, uint8_t length);
|
||||||
|
|
||||||
void setColorCode(uint8_t colorCode);
|
void setColorCode(uint8_t colorCode);
|
||||||
|
|
Loading…
Reference in New Issue