mirror of
https://github.com/g4klx/MMDVM.git
synced 2026-10-14 15:54:11 +02:00
Reset items at the end of the slot and transmission.
This commit is contained in:
+7
-16
@@ -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);
|
||||||
|
|||||||
Reference in New Issue
Block a user