fix buffer overflow causing modem crash during calibration; fix file formatting; add support for force DMO configuration flag (used for calibration);

pull/4/head 2024-01-05
Bryan Biedenkapp 3 years ago
parent 8008f967f1
commit 74225c443f

@ -559,7 +559,7 @@ void IO::rf2Conf(DVM_STATE modemState)
AD7021_CONTROL = ADF7021_REG2;
AD7021_2_IOCTL();
DEBUG3("IO::rf2Conf(): ADF2 REG2 =", (ADF7021_REG2 >> 16 & 0xFFFFU), (ADF7021_REG3 & 0xFFFFU));
DEBUG3("IO::rf2Conf() ADF2 REG2 =", (ADF7021_REG2 >> 16 & 0xFFFFU), (ADF7021_REG3 & 0xFFFFU));
/*
** Test DAC (Register 14)

@ -47,6 +47,7 @@ bool m_p25Enable = true;
bool m_nxdnEnable = true;
bool m_duplex = false;
bool m_forceDMO = false;
bool m_tx = false;
bool m_dcd = false;

@ -100,6 +100,7 @@ extern bool m_p25Enable;
extern bool m_nxdnEnable;
extern bool m_duplex;
extern bool m_forceDMO;
extern bool m_tx;
extern bool m_dcd;

@ -148,7 +148,7 @@ void IO::process()
if (m_modemState == STATE_DMR) {
/** Digital Mobile Radio */
#if defined(DUPLEX)
if (m_duplex) {
if (m_duplex && !m_forceDMO) {
if (m_tx)
dmrRX.databit(bit, control);
else

@ -1010,6 +1010,7 @@ uint8_t SerialPort::setConfig(const uint8_t* data, uint8_t length)
bool simplex = (data[0U] & 0x80U) == 0x80U;
m_forceDMO = (data[0U] & 0x40U) == 0x40U;
m_debug = (data[0U] & 0x10U) == 0x10U;
bool dmrEnable = (data[1U] & 0x02U) == 0x02U;

@ -138,9 +138,9 @@ void DMRDMOTX::setPreambleCount(uint8_t preambleCnt)
uint32_t preambles = (uint32_t)((float)preambleCnt / 0.2083F);
m_preambleCnt = DMRDMO_FIXED_DELAY + preambles;
// clamp preamble count to 250ms maximum
if (m_preambleCnt > 1200U)
m_preambleCnt = 1200U;
// clamp preamble count to 16ms maximum
if (m_preambleCnt > 80U)
m_preambleCnt = 80U;
}
/// <summary>

@ -151,8 +151,9 @@ void NXDNTX::setPreambleCount(uint8_t preambleCnt)
{
m_preambleCnt = 300U + uint16_t(preambleCnt) * 6U; // 500ms + tx delay
if (m_preambleCnt > 1200U)
m_preambleCnt = 1200U;
// clamp preamble count
if (m_preambleCnt > 60U)
m_preambleCnt = 60U;
}
/// <summary>

Loading…
Cancel
Save

Powered by TurnKey Linux.