Add controls for the CW Id level.

This commit is contained in:
Jonathan Naylor 2016-10-10 17:46:37 +01:00
parent 49e0a1ae3a
commit 878b4d6d73
6 changed files with 22 additions and 5 deletions

View file

@ -80,6 +80,7 @@ m_modemPTTInvert(false),
m_modemTXDelay(100U),
m_modemDMRDelay(0U),
m_modemRXLevel(50U),
m_modemCWIdTXLevel(50U),
m_modemDStarTXLevel(50U),
m_modemDMRTXLevel(50U),
m_modemYSFTXLevel(50U),
@ -302,7 +303,9 @@ bool CConf::read()
else if (::strcmp(key, "RXLevel") == 0)
m_modemRXLevel = (unsigned int)::atoi(value);
else if (::strcmp(key, "TXLevel") == 0)
m_modemDStarTXLevel = m_modemDMRTXLevel = m_modemYSFTXLevel = m_modemP25TXLevel = (unsigned int)::atoi(value);
m_modemCWIdTXLevel = m_modemDStarTXLevel = m_modemDMRTXLevel = m_modemYSFTXLevel = m_modemP25TXLevel = (unsigned int)::atoi(value);
else if (::strcmp(key, "CWIdTXLevel") == 0)
m_modemCWIdTXLevel = (unsigned int)::atoi(value);
else if (::strcmp(key, "D-StarTXLevel") == 0)
m_modemDStarTXLevel = (unsigned int)::atoi(value);
else if (::strcmp(key, "DMRTXLevel") == 0)
@ -718,6 +721,11 @@ unsigned int CConf::getModemRXLevel() const
return m_modemRXLevel;
}
unsigned int CConf::getModemCWIdTXLevel() const
{
return m_modemCWIdTXLevel;
}
unsigned int CConf::getModemDStarTXLevel() const
{
return m_modemDStarTXLevel;

2
Conf.h
View file

@ -68,6 +68,7 @@ public:
unsigned int getModemTXDelay() const;
unsigned int getModemDMRDelay() const;
unsigned int getModemRXLevel() const;
unsigned int getModemCWIdTXLevel() const;
unsigned int getModemDStarTXLevel() const;
unsigned int getModemDMRTXLevel() const;
unsigned int getModemYSFTXLevel() const;
@ -212,6 +213,7 @@ private:
unsigned int m_modemTXDelay;
unsigned int m_modemDMRDelay;
unsigned int m_modemRXLevel;
unsigned int m_modemCWIdTXLevel;
unsigned int m_modemDStarTXLevel;
unsigned int m_modemDMRTXLevel;
unsigned int m_modemYSFTXLevel;

View file

@ -40,6 +40,7 @@ TXDelay=100
DMRDelay=0
RXLevel=50
TXLevel=50
# CWIdTXLevel=50
# D-StarTXLevel=50
# DMRTXLevel=50
# YSFTXLevel=50

View file

@ -761,6 +761,7 @@ bool CMMDVMHost::createModem()
unsigned int txDelay = m_conf.getModemTXDelay();
unsigned int dmrDelay = m_conf.getModemDMRDelay();
unsigned int rxLevel = m_conf.getModemRXLevel();
unsigned int cwIdTXLevel = m_conf.getModemCWIdTXLevel();
unsigned int dstarTXLevel = m_conf.getModemDStarTXLevel();
unsigned int dmrTXLevel = m_conf.getModemDMRTXLevel();
unsigned int ysfTXLevel = m_conf.getModemYSFTXLevel();
@ -779,6 +780,7 @@ bool CMMDVMHost::createModem()
LogInfo(" TX Delay: %ums", txDelay);
LogInfo(" DMR Delay: %u (%.1fms)", dmrDelay, float(dmrDelay) * 0.0416666F);
LogInfo(" RX Level: %u%%", rxLevel);
LogInfo(" CW Id TX Level: %u%%", cwIdTXLevel);
LogInfo(" D-Star TX Level: %u%%", dstarTXLevel);
LogInfo(" DMR TX Level: %u%%", dmrTXLevel);
LogInfo(" YSF TX Level: %u%%", ysfTXLevel);
@ -790,7 +792,7 @@ bool CMMDVMHost::createModem()
m_modem = new CModem(port, m_duplex, rxInvert, txInvert, pttInvert, txDelay, dmrDelay, oscOffset, debug);
m_modem->setModeParams(m_dstarEnabled, m_dmrEnabled, m_ysfEnabled, m_p25Enabled);
m_modem->setLevels(rxLevel, dstarTXLevel, dmrTXLevel, ysfTXLevel, p25TXLevel);
m_modem->setLevels(rxLevel, cwIdTXLevel, dstarTXLevel, dmrTXLevel, ysfTXLevel, p25TXLevel);
m_modem->setRFParams(rxFrequency, txFrequency);
m_modem->setDMRParams(colorCode);

View file

@ -92,6 +92,7 @@ m_pttInvert(pttInvert),
m_txDelay(txDelay),
m_dmrDelay(dmrDelay),
m_rxLevel(0U),
m_cwIdTXLevel(0U),
m_dstarTXLevel(0U),
m_dmrTXLevel(0U),
m_ysfTXLevel(0U),
@ -155,9 +156,10 @@ void CModem::setModeParams(bool dstarEnabled, bool dmrEnabled, bool ysfEnabled,
m_p25Enabled = p25Enabled;
}
void CModem::setLevels(unsigned int rxLevel, unsigned int dstarTXLevel, unsigned int dmrTXLevel, unsigned int ysfTXLevel, unsigned int p25TXLevel)
void CModem::setLevels(unsigned int rxLevel, unsigned int cwIdTXLevel, unsigned int dstarTXLevel, unsigned int dmrTXLevel, unsigned int ysfTXLevel, unsigned int p25TXLevel)
{
m_rxLevel = rxLevel;
m_cwIdTXLevel = cwIdTXLevel;
m_dstarTXLevel = dstarTXLevel;
m_dmrTXLevel = dmrTXLevel;
m_ysfTXLevel = ysfTXLevel;
@ -947,7 +949,8 @@ bool CModem::setConfig()
buffer[6U] = MODE_IDLE;
buffer[7U] = (m_rxLevel * 255U) / 100U;
buffer[8U] = (m_dstarTXLevel * 255U) / 100U; // For backwards compatibility
buffer[8U] = (m_cwIdTXLevel * 255U) / 100U;
buffer[9U] = m_colorCode;

View file

@ -39,7 +39,7 @@ public:
void setRFParams(unsigned int rxFrequency, unsigned int txFrequency);
void setModeParams(bool dstarEnabled, bool dmrEnabled, bool ysfEnabled, bool p25Enabled);
void setLevels(unsigned int rxLevel, unsigned int dstarTXLevel, unsigned int dmrTXLevel, unsigned int ysfTXLevel, unsigned int p25Enabled);
void setLevels(unsigned int rxLevel, unsigned int cwIdTXLevel, unsigned int dstarTXLevel, unsigned int dmrTXLevel, unsigned int ysfTXLevel, unsigned int p25Enabled);
void setDMRParams(unsigned int colorCode);
bool open();
@ -95,6 +95,7 @@ private:
unsigned int m_txDelay;
unsigned int m_dmrDelay;
unsigned int m_rxLevel;
unsigned int m_cwIdTXLevel;
unsigned int m_dstarTXLevel;
unsigned int m_dmrTXLevel;
unsigned int m_ysfTXLevel;