Allow the MMDVM levels to be specified as floating point values.
This commit is contained in:
parent
ed9362845a
commit
c1521ee445
5 changed files with 56 additions and 56 deletions
36
Conf.cpp
36
Conf.cpp
|
@ -85,12 +85,12 @@ m_modemTXInvert(false),
|
||||||
m_modemPTTInvert(false),
|
m_modemPTTInvert(false),
|
||||||
m_modemTXDelay(100U),
|
m_modemTXDelay(100U),
|
||||||
m_modemDMRDelay(0U),
|
m_modemDMRDelay(0U),
|
||||||
m_modemRXLevel(50U),
|
m_modemRXLevel(50.0F),
|
||||||
m_modemCWIdTXLevel(50U),
|
m_modemCWIdTXLevel(50.0F),
|
||||||
m_modemDStarTXLevel(50U),
|
m_modemDStarTXLevel(50.0F),
|
||||||
m_modemDMRTXLevel(50U),
|
m_modemDMRTXLevel(50.0F),
|
||||||
m_modemYSFTXLevel(50U),
|
m_modemYSFTXLevel(50.0F),
|
||||||
m_modemP25TXLevel(50U),
|
m_modemP25TXLevel(50.0F),
|
||||||
m_modemRSSIMappingFile(),
|
m_modemRSSIMappingFile(),
|
||||||
m_modemTrace(false),
|
m_modemTrace(false),
|
||||||
m_modemDebug(false),
|
m_modemDebug(false),
|
||||||
|
@ -329,17 +329,17 @@ 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_modemCWIdTXLevel = m_modemDStarTXLevel = m_modemDMRTXLevel = m_modemYSFTXLevel = m_modemP25TXLevel = (unsigned int)::atoi(value);
|
m_modemCWIdTXLevel = m_modemDStarTXLevel = m_modemDMRTXLevel = m_modemYSFTXLevel = m_modemP25TXLevel = ::atof(value);
|
||||||
else if (::strcmp(key, "CWIdTXLevel") == 0)
|
else if (::strcmp(key, "CWIdTXLevel") == 0)
|
||||||
m_modemCWIdTXLevel = (unsigned int)::atoi(value);
|
m_modemCWIdTXLevel = ::atof(value);
|
||||||
else if (::strcmp(key, "D-StarTXLevel") == 0)
|
else if (::strcmp(key, "D-StarTXLevel") == 0)
|
||||||
m_modemDStarTXLevel = (unsigned int)::atoi(value);
|
m_modemDStarTXLevel = ::atof(value);
|
||||||
else if (::strcmp(key, "DMRTXLevel") == 0)
|
else if (::strcmp(key, "DMRTXLevel") == 0)
|
||||||
m_modemDMRTXLevel = (unsigned int)::atoi(value);
|
m_modemDMRTXLevel = ::atof(value);
|
||||||
else if (::strcmp(key, "YSFTXLevel") == 0)
|
else if (::strcmp(key, "YSFTXLevel") == 0)
|
||||||
m_modemYSFTXLevel = (unsigned int)::atoi(value);
|
m_modemYSFTXLevel = ::atof(value);
|
||||||
else if (::strcmp(key, "P25TXLevel") == 0)
|
else if (::strcmp(key, "P25TXLevel") == 0)
|
||||||
m_modemP25TXLevel = (unsigned int)::atoi(value);
|
m_modemP25TXLevel = ::atof(value);
|
||||||
else if (::strcmp(key, "RSSIMappingFile") == 0)
|
else if (::strcmp(key, "RSSIMappingFile") == 0)
|
||||||
m_modemRSSIMappingFile = value;
|
m_modemRSSIMappingFile = value;
|
||||||
else if (::strcmp(key, "Trace") == 0)
|
else if (::strcmp(key, "Trace") == 0)
|
||||||
|
@ -730,32 +730,32 @@ unsigned int CConf::getModemDMRDelay() const
|
||||||
return m_modemDMRDelay;
|
return m_modemDMRDelay;
|
||||||
}
|
}
|
||||||
|
|
||||||
unsigned int CConf::getModemRXLevel() const
|
float CConf::getModemRXLevel() const
|
||||||
{
|
{
|
||||||
return m_modemRXLevel;
|
return m_modemRXLevel;
|
||||||
}
|
}
|
||||||
|
|
||||||
unsigned int CConf::getModemCWIdTXLevel() const
|
float CConf::getModemCWIdTXLevel() const
|
||||||
{
|
{
|
||||||
return m_modemCWIdTXLevel;
|
return m_modemCWIdTXLevel;
|
||||||
}
|
}
|
||||||
|
|
||||||
unsigned int CConf::getModemDStarTXLevel() const
|
float CConf::getModemDStarTXLevel() const
|
||||||
{
|
{
|
||||||
return m_modemDStarTXLevel;
|
return m_modemDStarTXLevel;
|
||||||
}
|
}
|
||||||
|
|
||||||
unsigned int CConf::getModemDMRTXLevel() const
|
float CConf::getModemDMRTXLevel() const
|
||||||
{
|
{
|
||||||
return m_modemDMRTXLevel;
|
return m_modemDMRTXLevel;
|
||||||
}
|
}
|
||||||
|
|
||||||
unsigned int CConf::getModemYSFTXLevel() const
|
float CConf::getModemYSFTXLevel() const
|
||||||
{
|
{
|
||||||
return m_modemYSFTXLevel;
|
return m_modemYSFTXLevel;
|
||||||
}
|
}
|
||||||
|
|
||||||
unsigned int CConf::getModemP25TXLevel() const
|
float CConf::getModemP25TXLevel() const
|
||||||
{
|
{
|
||||||
return m_modemP25TXLevel;
|
return m_modemP25TXLevel;
|
||||||
}
|
}
|
||||||
|
|
24
Conf.h
24
Conf.h
|
@ -72,12 +72,12 @@ public:
|
||||||
bool getModemPTTInvert() const;
|
bool getModemPTTInvert() const;
|
||||||
unsigned int getModemTXDelay() const;
|
unsigned int getModemTXDelay() const;
|
||||||
unsigned int getModemDMRDelay() const;
|
unsigned int getModemDMRDelay() const;
|
||||||
unsigned int getModemRXLevel() const;
|
float getModemRXLevel() const;
|
||||||
unsigned int getModemCWIdTXLevel() const;
|
float getModemCWIdTXLevel() const;
|
||||||
unsigned int getModemDStarTXLevel() const;
|
float getModemDStarTXLevel() const;
|
||||||
unsigned int getModemDMRTXLevel() const;
|
float getModemDMRTXLevel() const;
|
||||||
unsigned int getModemYSFTXLevel() const;
|
float getModemYSFTXLevel() const;
|
||||||
unsigned int getModemP25TXLevel() const;
|
float getModemP25TXLevel() const;
|
||||||
std::string getModemRSSIMappingFile() const;
|
std::string getModemRSSIMappingFile() const;
|
||||||
bool getModemTrace() const;
|
bool getModemTrace() const;
|
||||||
bool getModemDebug() const;
|
bool getModemDebug() const;
|
||||||
|
@ -227,12 +227,12 @@ private:
|
||||||
bool m_modemPTTInvert;
|
bool m_modemPTTInvert;
|
||||||
unsigned int m_modemTXDelay;
|
unsigned int m_modemTXDelay;
|
||||||
unsigned int m_modemDMRDelay;
|
unsigned int m_modemDMRDelay;
|
||||||
unsigned int m_modemRXLevel;
|
float m_modemRXLevel;
|
||||||
unsigned int m_modemCWIdTXLevel;
|
float m_modemCWIdTXLevel;
|
||||||
unsigned int m_modemDStarTXLevel;
|
float m_modemDStarTXLevel;
|
||||||
unsigned int m_modemDMRTXLevel;
|
float m_modemDMRTXLevel;
|
||||||
unsigned int m_modemYSFTXLevel;
|
float m_modemYSFTXLevel;
|
||||||
unsigned int m_modemP25TXLevel;
|
float m_modemP25TXLevel;
|
||||||
std::string m_modemRSSIMappingFile;
|
std::string m_modemRSSIMappingFile;
|
||||||
bool m_modemTrace;
|
bool m_modemTrace;
|
||||||
bool m_modemDebug;
|
bool m_modemDebug;
|
||||||
|
|
|
@ -799,12 +799,12 @@ bool CMMDVMHost::createModem()
|
||||||
bool pttInvert = m_conf.getModemPTTInvert();
|
bool pttInvert = m_conf.getModemPTTInvert();
|
||||||
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();
|
float rxLevel = m_conf.getModemRXLevel();
|
||||||
unsigned int cwIdTXLevel = m_conf.getModemCWIdTXLevel();
|
float cwIdTXLevel = m_conf.getModemCWIdTXLevel();
|
||||||
unsigned int dstarTXLevel = m_conf.getModemDStarTXLevel();
|
float dstarTXLevel = m_conf.getModemDStarTXLevel();
|
||||||
unsigned int dmrTXLevel = m_conf.getModemDMRTXLevel();
|
float dmrTXLevel = m_conf.getModemDMRTXLevel();
|
||||||
unsigned int ysfTXLevel = m_conf.getModemYSFTXLevel();
|
float ysfTXLevel = m_conf.getModemYSFTXLevel();
|
||||||
unsigned int p25TXLevel = m_conf.getModemP25TXLevel();
|
float p25TXLevel = m_conf.getModemP25TXLevel();
|
||||||
bool trace = m_conf.getModemTrace();
|
bool trace = m_conf.getModemTrace();
|
||||||
bool debug = m_conf.getModemDebug();
|
bool debug = m_conf.getModemDebug();
|
||||||
unsigned int colorCode = m_conf.getDMRColorCode();
|
unsigned int colorCode = m_conf.getDMRColorCode();
|
||||||
|
@ -819,12 +819,12 @@ bool CMMDVMHost::createModem()
|
||||||
LogInfo(" PTT Invert: %s", pttInvert ? "yes" : "no");
|
LogInfo(" PTT Invert: %s", pttInvert ? "yes" : "no");
|
||||||
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: %.1f%%", rxLevel);
|
||||||
LogInfo(" CW Id TX Level: %u%%", cwIdTXLevel);
|
LogInfo(" CW Id TX Level: %.1f%%", cwIdTXLevel);
|
||||||
LogInfo(" D-Star TX Level: %u%%", dstarTXLevel);
|
LogInfo(" D-Star TX Level: %.1f%%", dstarTXLevel);
|
||||||
LogInfo(" DMR TX Level: %u%%", dmrTXLevel);
|
LogInfo(" DMR TX Level: %.1f%%", dmrTXLevel);
|
||||||
LogInfo(" YSF TX Level: %u%%", ysfTXLevel);
|
LogInfo(" YSF TX Level: %.1f%%", ysfTXLevel);
|
||||||
LogInfo(" P25 TX Level: %u%%", p25TXLevel);
|
LogInfo(" P25 TX Level: %.1f%%", p25TXLevel);
|
||||||
LogInfo(" RX Frequency: %uHz", rxFrequency);
|
LogInfo(" RX Frequency: %uHz", rxFrequency);
|
||||||
LogInfo(" TX Frequency: %uHz", txFrequency);
|
LogInfo(" TX Frequency: %uHz", txFrequency);
|
||||||
|
|
||||||
|
|
14
Modem.cpp
14
Modem.cpp
|
@ -159,7 +159,7 @@ void CModem::setModeParams(bool dstarEnabled, bool dmrEnabled, bool ysfEnabled,
|
||||||
m_p25Enabled = p25Enabled;
|
m_p25Enabled = p25Enabled;
|
||||||
}
|
}
|
||||||
|
|
||||||
void CModem::setLevels(unsigned int rxLevel, unsigned int cwIdTXLevel, unsigned int dstarTXLevel, unsigned int dmrTXLevel, unsigned int ysfTXLevel, unsigned int p25TXLevel)
|
void CModem::setLevels(float rxLevel, float cwIdTXLevel, float dstarTXLevel, float dmrTXLevel, float ysfTXLevel, float p25TXLevel)
|
||||||
{
|
{
|
||||||
m_rxLevel = rxLevel;
|
m_rxLevel = rxLevel;
|
||||||
m_cwIdTXLevel = cwIdTXLevel;
|
m_cwIdTXLevel = cwIdTXLevel;
|
||||||
|
@ -975,9 +975,9 @@ bool CModem::setConfig()
|
||||||
|
|
||||||
buffer[6U] = MODE_IDLE;
|
buffer[6U] = MODE_IDLE;
|
||||||
|
|
||||||
buffer[7U] = (m_rxLevel * 255U) / 100U;
|
buffer[7U] = (unsigned char)(m_rxLevel * 2.55F + 0.5F);
|
||||||
|
|
||||||
buffer[8U] = (m_cwIdTXLevel * 255U) / 100U;
|
buffer[8U] = (unsigned char)(m_cwIdTXLevel * 2.55F + 0.5F);
|
||||||
|
|
||||||
buffer[9U] = m_dmrColorCode;
|
buffer[9U] = m_dmrColorCode;
|
||||||
|
|
||||||
|
@ -985,10 +985,10 @@ bool CModem::setConfig()
|
||||||
|
|
||||||
buffer[11U] = 128U; // Was OscOffset
|
buffer[11U] = 128U; // Was OscOffset
|
||||||
|
|
||||||
buffer[12U] = (m_dstarTXLevel * 255U) / 100U;
|
buffer[12U] = (unsigned char)(m_dstarTXLevel * 2.55F + 0.5F);
|
||||||
buffer[13U] = (m_dmrTXLevel * 255U) / 100U;
|
buffer[13U] = (unsigned char)(m_dmrTXLevel * 2.55F + 0.5F);
|
||||||
buffer[14U] = (m_ysfTXLevel * 255U) / 100U;
|
buffer[14U] = (unsigned char)(m_ysfTXLevel * 2.55F + 0.5F);
|
||||||
buffer[15U] = (m_p25TXLevel * 255U) / 100U;
|
buffer[15U] = (unsigned char)(m_p25TXLevel * 2.55F + 0.5F);
|
||||||
|
|
||||||
// CUtils::dump(1U, "Written", buffer, 16U);
|
// CUtils::dump(1U, "Written", buffer, 16U);
|
||||||
|
|
||||||
|
|
14
Modem.h
14
Modem.h
|
@ -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 cwIdTXLevel, unsigned int dstarTXLevel, unsigned int dmrTXLevel, unsigned int ysfTXLevel, unsigned int p25Enabled);
|
void setLevels(float rxLevel, float cwIdTXLevel, float dstarTXLevel, float dmrTXLevel, float ysfTXLevel, float p25Enabled);
|
||||||
void setDMRParams(unsigned int colorCode);
|
void setDMRParams(unsigned int colorCode);
|
||||||
void setYSFParams(bool loDev);
|
void setYSFParams(bool loDev);
|
||||||
|
|
||||||
|
@ -97,12 +97,12 @@ private:
|
||||||
bool m_pttInvert;
|
bool m_pttInvert;
|
||||||
unsigned int m_txDelay;
|
unsigned int m_txDelay;
|
||||||
unsigned int m_dmrDelay;
|
unsigned int m_dmrDelay;
|
||||||
unsigned int m_rxLevel;
|
float m_rxLevel;
|
||||||
unsigned int m_cwIdTXLevel;
|
float m_cwIdTXLevel;
|
||||||
unsigned int m_dstarTXLevel;
|
float m_dstarTXLevel;
|
||||||
unsigned int m_dmrTXLevel;
|
float m_dmrTXLevel;
|
||||||
unsigned int m_ysfTXLevel;
|
float m_ysfTXLevel;
|
||||||
unsigned int m_p25TXLevel;
|
float m_p25TXLevel;
|
||||||
bool m_trace;
|
bool m_trace;
|
||||||
bool m_debug;
|
bool m_debug;
|
||||||
unsigned int m_rxFrequency;
|
unsigned int m_rxFrequency;
|
||||||
|
|
Loading…
Reference in a new issue