mirror of
https://github.com/g4klx/MMDVMHost
synced 2025-12-21 23:45:49 +08:00
Add DMR slot delay parameter.
This commit is contained in:
8
Conf.cpp
8
Conf.cpp
@@ -66,6 +66,7 @@ m_modemRXInvert(false),
|
|||||||
m_modemTXInvert(false),
|
m_modemTXInvert(false),
|
||||||
m_modemPTTInvert(false),
|
m_modemPTTInvert(false),
|
||||||
m_modemTXDelay(100U),
|
m_modemTXDelay(100U),
|
||||||
|
m_modemDMRDelay(0U),
|
||||||
m_modemRXLevel(100U),
|
m_modemRXLevel(100U),
|
||||||
m_modemTXLevel(100U),
|
m_modemTXLevel(100U),
|
||||||
m_modemDebug(false),
|
m_modemDebug(false),
|
||||||
@@ -205,6 +206,8 @@ bool CConf::read()
|
|||||||
m_modemPTTInvert = ::atoi(value) == 1;
|
m_modemPTTInvert = ::atoi(value) == 1;
|
||||||
else if (::strcmp(key, "TXDelay") == 0)
|
else if (::strcmp(key, "TXDelay") == 0)
|
||||||
m_modemTXDelay = (unsigned int)::atoi(value);
|
m_modemTXDelay = (unsigned int)::atoi(value);
|
||||||
|
else if (::strcmp(key, "DMRDelay") == 0)
|
||||||
|
m_modemDMRDelay = (unsigned int)::atoi(value);
|
||||||
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)
|
||||||
@@ -398,6 +401,11 @@ unsigned int CConf::getModemTXDelay() const
|
|||||||
return m_modemTXDelay;
|
return m_modemTXDelay;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
unsigned int CConf::getModemDMRDelay() const
|
||||||
|
{
|
||||||
|
return m_modemDMRDelay;
|
||||||
|
}
|
||||||
|
|
||||||
unsigned int CConf::getModemRXLevel() const
|
unsigned int CConf::getModemRXLevel() const
|
||||||
{
|
{
|
||||||
return m_modemRXLevel;
|
return m_modemRXLevel;
|
||||||
|
|||||||
2
Conf.h
2
Conf.h
@@ -59,6 +59,7 @@ public:
|
|||||||
bool getModemTXInvert() const;
|
bool getModemTXInvert() const;
|
||||||
bool getModemPTTInvert() const;
|
bool getModemPTTInvert() const;
|
||||||
unsigned int getModemTXDelay() const;
|
unsigned int getModemTXDelay() const;
|
||||||
|
unsigned int getModemDMRDelay() const;
|
||||||
unsigned int getModemRXLevel() const;
|
unsigned int getModemRXLevel() const;
|
||||||
unsigned int getModemTXLevel() const;
|
unsigned int getModemTXLevel() const;
|
||||||
bool getModemDebug() const;
|
bool getModemDebug() const;
|
||||||
@@ -135,6 +136,7 @@ private:
|
|||||||
bool m_modemTXInvert;
|
bool m_modemTXInvert;
|
||||||
bool m_modemPTTInvert;
|
bool m_modemPTTInvert;
|
||||||
unsigned int m_modemTXDelay;
|
unsigned int m_modemTXDelay;
|
||||||
|
unsigned int m_modemDMRDelay;
|
||||||
unsigned int m_modemRXLevel;
|
unsigned int m_modemRXLevel;
|
||||||
unsigned int m_modemTXLevel;
|
unsigned int m_modemTXLevel;
|
||||||
bool m_modemDebug;
|
bool m_modemDebug;
|
||||||
|
|||||||
@@ -30,6 +30,7 @@ TXInvert=1
|
|||||||
RXInvert=0
|
RXInvert=0
|
||||||
PTTInvert=0
|
PTTInvert=0
|
||||||
TXDelay=100
|
TXDelay=100
|
||||||
|
DMRDelay=0
|
||||||
RXLevel=50
|
RXLevel=50
|
||||||
TXLevel=50
|
TXLevel=50
|
||||||
Debug=0
|
Debug=0
|
||||||
|
|||||||
@@ -412,6 +412,7 @@ bool CMMDVMHost::createModem()
|
|||||||
bool txInvert = m_conf.getModemTXInvert();
|
bool txInvert = m_conf.getModemTXInvert();
|
||||||
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 rxLevel = m_conf.getModemRXLevel();
|
unsigned int rxLevel = m_conf.getModemRXLevel();
|
||||||
unsigned int txLevel = m_conf.getModemTXLevel();
|
unsigned int txLevel = m_conf.getModemTXLevel();
|
||||||
bool debug = m_conf.getModemDebug();
|
bool debug = m_conf.getModemDebug();
|
||||||
@@ -424,13 +425,14 @@ bool CMMDVMHost::createModem()
|
|||||||
LogInfo(" RX Invert: %s", rxInvert ? "yes" : "no");
|
LogInfo(" RX Invert: %s", rxInvert ? "yes" : "no");
|
||||||
LogInfo(" TX Invert: %s", txInvert ? "yes" : "no");
|
LogInfo(" TX Invert: %s", txInvert ? "yes" : "no");
|
||||||
LogInfo(" PTT Invert: %s", pttInvert ? "yes" : "no");
|
LogInfo(" PTT Invert: %s", pttInvert ? "yes" : "no");
|
||||||
LogInfo(" TX Delay: %u", txDelay);
|
LogInfo(" TX Delay: %ums", txDelay);
|
||||||
LogInfo(" RX Level: %u", rxLevel);
|
LogInfo(" DMR Delay: %u", dmrDelay);
|
||||||
LogInfo(" TX Level: %u", txLevel);
|
LogInfo(" RX Level: %u%%", rxLevel);
|
||||||
|
LogInfo(" TX Level: %u%%", txLevel);
|
||||||
LogInfo(" RX Frequency: %uHz", rxFrequency);
|
LogInfo(" RX Frequency: %uHz", rxFrequency);
|
||||||
LogInfo(" TX Frequency: %uHz", txFrequency);
|
LogInfo(" TX Frequency: %uHz", txFrequency);
|
||||||
|
|
||||||
m_modem = new CModem(port, rxInvert, txInvert, pttInvert, txDelay, rxLevel, txLevel, debug);
|
m_modem = new CModem(port, rxInvert, txInvert, pttInvert, txDelay, rxLevel, txLevel, dmrDelay, debug);
|
||||||
m_modem->setModeParams(m_dstarEnabled, m_dmrEnabled, m_ysfEnabled);
|
m_modem->setModeParams(m_dstarEnabled, m_dmrEnabled, m_ysfEnabled);
|
||||||
m_modem->setRFParams(rxFrequency, txFrequency);
|
m_modem->setRFParams(rxFrequency, txFrequency);
|
||||||
m_modem->setDMRParams(colorCode);
|
m_modem->setDMRParams(colorCode);
|
||||||
|
|||||||
15
Modem.cpp
15
Modem.cpp
@@ -74,13 +74,14 @@ const unsigned int MAX_RESPONSES = 30U;
|
|||||||
const unsigned int BUFFER_LENGTH = 500U;
|
const unsigned int BUFFER_LENGTH = 500U;
|
||||||
|
|
||||||
|
|
||||||
CModem::CModem(const std::string& port, bool rxInvert, bool txInvert, bool pttInvert, unsigned int txDelay, unsigned int rxLevel, unsigned int txLevel, bool debug) :
|
CModem::CModem(const std::string& port, bool rxInvert, bool txInvert, bool pttInvert, unsigned int txDelay, unsigned int rxLevel, unsigned int txLevel, unsigned int dmrDelay, bool debug) :
|
||||||
m_port(port),
|
m_port(port),
|
||||||
m_colorCode(0U),
|
m_colorCode(0U),
|
||||||
m_rxInvert(rxInvert),
|
m_rxInvert(rxInvert),
|
||||||
m_txInvert(txInvert),
|
m_txInvert(txInvert),
|
||||||
m_pttInvert(pttInvert),
|
m_pttInvert(pttInvert),
|
||||||
m_txDelay(txDelay),
|
m_txDelay(txDelay),
|
||||||
|
m_dmrDelay(dmrDelay),
|
||||||
m_rxLevel(rxLevel),
|
m_rxLevel(rxLevel),
|
||||||
m_txLevel(txLevel),
|
m_txLevel(txLevel),
|
||||||
m_debug(debug),
|
m_debug(debug),
|
||||||
@@ -735,11 +736,11 @@ bool CModem::readStatus()
|
|||||||
|
|
||||||
bool CModem::setConfig()
|
bool CModem::setConfig()
|
||||||
{
|
{
|
||||||
unsigned char buffer[10U];
|
unsigned char buffer[11U];
|
||||||
|
|
||||||
buffer[0U] = MMDVM_FRAME_START;
|
buffer[0U] = MMDVM_FRAME_START;
|
||||||
|
|
||||||
buffer[1U] = 10U;
|
buffer[1U] = 11U;
|
||||||
|
|
||||||
buffer[2U] = MMDVM_SET_CONFIG;
|
buffer[2U] = MMDVM_SET_CONFIG;
|
||||||
|
|
||||||
@@ -768,10 +769,12 @@ bool CModem::setConfig()
|
|||||||
|
|
||||||
buffer[9U] = m_colorCode;
|
buffer[9U] = m_colorCode;
|
||||||
|
|
||||||
// CUtils::dump(1U, "Written", buffer, 10U);
|
buffer[10U] = m_dmrDelay;
|
||||||
|
|
||||||
int ret = m_serial.write(buffer, 10U);
|
// CUtils::dump(1U, "Written", buffer, 11U);
|
||||||
if (ret != 10)
|
|
||||||
|
int ret = m_serial.write(buffer, 11U);
|
||||||
|
if (ret != 11)
|
||||||
return false;
|
return false;
|
||||||
|
|
||||||
unsigned int count = 0U;
|
unsigned int count = 0U;
|
||||||
|
|||||||
3
Modem.h
3
Modem.h
@@ -33,7 +33,7 @@ enum RESP_TYPE_MMDVM {
|
|||||||
|
|
||||||
class CModem {
|
class CModem {
|
||||||
public:
|
public:
|
||||||
CModem(const std::string& port, bool rxInvert, bool txInvert, bool pttInvert, unsigned int txDelay, unsigned int rxLevel, unsigned int txLevel, bool debug = false);
|
CModem(const std::string& port, bool rxInvert, bool txInvert, bool pttInvert, unsigned int txDelay, unsigned int rxLevel, unsigned int txLevel, unsigned int dmrDelay, bool debug = false);
|
||||||
~CModem();
|
~CModem();
|
||||||
|
|
||||||
void setRFParams(unsigned int rxFrequency, unsigned int txFrequency);
|
void setRFParams(unsigned int rxFrequency, unsigned int txFrequency);
|
||||||
@@ -75,6 +75,7 @@ private:
|
|||||||
bool m_txInvert;
|
bool m_txInvert;
|
||||||
bool m_pttInvert;
|
bool m_pttInvert;
|
||||||
unsigned int m_txDelay;
|
unsigned int m_txDelay;
|
||||||
|
unsigned int m_dmrDelay;
|
||||||
unsigned int m_rxLevel;
|
unsigned int m_rxLevel;
|
||||||
unsigned int m_txLevel;
|
unsigned int m_txLevel;
|
||||||
bool m_debug;
|
bool m_debug;
|
||||||
|
|||||||
Reference in New Issue
Block a user