mirror of https://github.com/markqvist/MMDVM.git
Add TX Delay buffer protection.
parent
e93b264d9c
commit
c0941c4856
|
@ -166,7 +166,10 @@ uint8_t CDMRDMOTX::getSpace() const
|
|||
|
||||
void CDMRDMOTX::setTXDelay(uint8_t delay)
|
||||
{
|
||||
m_txDelay = 240U + uint16_t(delay) * 12U; // 200ms + tx delay
|
||||
m_txDelay = 600U + uint16_t(delay) * 12U; // 500ms + tx delay
|
||||
|
||||
if (m_txDelay > 1200U)
|
||||
m_txDelay = 1200U;
|
||||
}
|
||||
|
||||
void CDMRDMOTX::createCACH(uint8_t* buffer, uint8_t slotIndex)
|
||||
|
|
|
@ -42,7 +42,7 @@ private:
|
|||
CSerialRB m_fifo;
|
||||
arm_fir_interpolate_instance_q15 m_modFilter;
|
||||
q15_t m_modState[16U]; // blockSize + phaseLength - 1, 4 + 9 - 1 plus some spare
|
||||
uint8_t m_poBuffer[800U];
|
||||
uint8_t m_poBuffer[1200U];
|
||||
uint16_t m_poLen;
|
||||
uint16_t m_poPtr;
|
||||
uint32_t m_txDelay;
|
||||
|
|
|
@ -434,6 +434,9 @@ void CDStarTX::writeByte(uint8_t c)
|
|||
void CDStarTX::setTXDelay(uint8_t delay)
|
||||
{
|
||||
m_txDelay = 300U + uint16_t(delay) * 6U; // 250ms + tx delay
|
||||
|
||||
if (m_txDelay > 600U)
|
||||
m_txDelay = 600U;
|
||||
}
|
||||
|
||||
uint8_t CDStarTX::getSpace() const
|
||||
|
|
|
@ -166,6 +166,9 @@ void CP25TX::writeByte(uint8_t c)
|
|||
void CP25TX::setTXDelay(uint8_t delay)
|
||||
{
|
||||
m_txDelay = 600U + uint16_t(delay) * 12U; // 500ms + tx delay
|
||||
|
||||
if (m_txDelay > 1200U)
|
||||
m_txDelay = 1200U;
|
||||
}
|
||||
|
||||
uint8_t CP25TX::getSpace() const
|
||||
|
|
Loading…
Reference in New Issue