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_modemTXDelay(100U),
m_modemDMRDelay(0U), m_modemDMRDelay(0U),
m_modemRXLevel(50U), m_modemRXLevel(50U),
m_modemCWIdTXLevel(50U),
m_modemDStarTXLevel(50U), m_modemDStarTXLevel(50U),
m_modemDMRTXLevel(50U), m_modemDMRTXLevel(50U),
m_modemYSFTXLevel(50U), m_modemYSFTXLevel(50U),
@ -302,7 +303,9 @@ bool CConf::read()
else if (::strcmp(key, "RXLevel") == 0) else if (::strcmp(key, "RXLevel") == 0)
m_modemRXLevel = (unsigned int)::atoi(value); m_modemRXLevel = (unsigned int)::atoi(value);
else if (::strcmp(key, "TXLevel") == 0) 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) else if (::strcmp(key, "D-StarTXLevel") == 0)
m_modemDStarTXLevel = (unsigned int)::atoi(value); m_modemDStarTXLevel = (unsigned int)::atoi(value);
else if (::strcmp(key, "DMRTXLevel") == 0) else if (::strcmp(key, "DMRTXLevel") == 0)
@ -718,6 +721,11 @@ unsigned int CConf::getModemRXLevel() const
return m_modemRXLevel; return m_modemRXLevel;
} }
unsigned int CConf::getModemCWIdTXLevel() const
{
return m_modemCWIdTXLevel;
}
unsigned int CConf::getModemDStarTXLevel() const unsigned int CConf::getModemDStarTXLevel() const
{ {
return m_modemDStarTXLevel; return m_modemDStarTXLevel;

2
Conf.h
View file

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

View file

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

View file

@ -761,6 +761,7 @@ bool CMMDVMHost::createModem()
unsigned int txDelay = m_conf.getModemTXDelay(); unsigned int txDelay = m_conf.getModemTXDelay();
unsigned int dmrDelay = m_conf.getModemDMRDelay(); unsigned int dmrDelay = m_conf.getModemDMRDelay();
unsigned int rxLevel = m_conf.getModemRXLevel(); unsigned int rxLevel = m_conf.getModemRXLevel();
unsigned int cwIdTXLevel = m_conf.getModemCWIdTXLevel();
unsigned int dstarTXLevel = m_conf.getModemDStarTXLevel(); unsigned int dstarTXLevel = m_conf.getModemDStarTXLevel();
unsigned int dmrTXLevel = m_conf.getModemDMRTXLevel(); unsigned int dmrTXLevel = m_conf.getModemDMRTXLevel();
unsigned int ysfTXLevel = m_conf.getModemYSFTXLevel(); unsigned int ysfTXLevel = m_conf.getModemYSFTXLevel();
@ -779,6 +780,7 @@ bool CMMDVMHost::createModem()
LogInfo(" TX Delay: %ums", txDelay); LogInfo(" TX Delay: %ums", txDelay);
LogInfo(" DMR Delay: %u (%.1fms)", dmrDelay, float(dmrDelay) * 0.0416666F); LogInfo(" DMR Delay: %u (%.1fms)", dmrDelay, float(dmrDelay) * 0.0416666F);
LogInfo(" RX Level: %u%%", rxLevel); LogInfo(" RX Level: %u%%", rxLevel);
LogInfo(" CW Id TX Level: %u%%", cwIdTXLevel);
LogInfo(" D-Star TX Level: %u%%", dstarTXLevel); LogInfo(" D-Star TX Level: %u%%", dstarTXLevel);
LogInfo(" DMR TX Level: %u%%", dmrTXLevel); LogInfo(" DMR TX Level: %u%%", dmrTXLevel);
LogInfo(" YSF TX Level: %u%%", ysfTXLevel); 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 = 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->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->setRFParams(rxFrequency, txFrequency);
m_modem->setDMRParams(colorCode); m_modem->setDMRParams(colorCode);

View file

@ -92,6 +92,7 @@ m_pttInvert(pttInvert),
m_txDelay(txDelay), m_txDelay(txDelay),
m_dmrDelay(dmrDelay), m_dmrDelay(dmrDelay),
m_rxLevel(0U), m_rxLevel(0U),
m_cwIdTXLevel(0U),
m_dstarTXLevel(0U), m_dstarTXLevel(0U),
m_dmrTXLevel(0U), m_dmrTXLevel(0U),
m_ysfTXLevel(0U), m_ysfTXLevel(0U),
@ -155,9 +156,10 @@ void CModem::setModeParams(bool dstarEnabled, bool dmrEnabled, bool ysfEnabled,
m_p25Enabled = p25Enabled; 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_rxLevel = rxLevel;
m_cwIdTXLevel = cwIdTXLevel;
m_dstarTXLevel = dstarTXLevel; m_dstarTXLevel = dstarTXLevel;
m_dmrTXLevel = dmrTXLevel; m_dmrTXLevel = dmrTXLevel;
m_ysfTXLevel = ysfTXLevel; m_ysfTXLevel = ysfTXLevel;
@ -947,7 +949,8 @@ bool CModem::setConfig()
buffer[6U] = MODE_IDLE; buffer[6U] = MODE_IDLE;
buffer[7U] = (m_rxLevel * 255U) / 100U; 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; buffer[9U] = m_colorCode;

View file

@ -39,7 +39,7 @@ public:
void setRFParams(unsigned int rxFrequency, unsigned int txFrequency); void setRFParams(unsigned int rxFrequency, unsigned int txFrequency);
void setModeParams(bool dstarEnabled, bool dmrEnabled, bool ysfEnabled, bool p25Enabled); 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); void setDMRParams(unsigned int colorCode);
bool open(); bool open();
@ -95,6 +95,7 @@ private:
unsigned int m_txDelay; unsigned int m_txDelay;
unsigned int m_dmrDelay; unsigned int m_dmrDelay;
unsigned int m_rxLevel; unsigned int m_rxLevel;
unsigned int m_cwIdTXLevel;
unsigned int m_dstarTXLevel; unsigned int m_dstarTXLevel;
unsigned int m_dmrTXLevel; unsigned int m_dmrTXLevel;
unsigned int m_ysfTXLevel; unsigned int m_ysfTXLevel;