Move modem tracing to Trace and add a new modem Debug function.
This commit is contained in:
parent
0fe100b01c
commit
9ac4919a4c
6 changed files with 45 additions and 29 deletions
8
Conf.cpp
8
Conf.cpp
|
@ -92,6 +92,7 @@ m_modemDMRTXLevel(50U),
|
|||
m_modemYSFTXLevel(50U),
|
||||
m_modemP25TXLevel(50U),
|
||||
m_modemRSSIMappingFile(),
|
||||
m_modemTrace(false),
|
||||
m_modemDebug(false),
|
||||
m_umpEnabled(false),
|
||||
m_umpPort(),
|
||||
|
@ -341,6 +342,8 @@ bool CConf::read()
|
|||
m_modemP25TXLevel = (unsigned int)::atoi(value);
|
||||
else if (::strcmp(key, "RSSIMappingFile") == 0)
|
||||
m_modemRSSIMappingFile = value;
|
||||
else if (::strcmp(key, "Trace") == 0)
|
||||
m_modemTrace = ::atoi(value) == 1;
|
||||
else if (::strcmp(key, "Debug") == 0)
|
||||
m_modemDebug = ::atoi(value) == 1;
|
||||
} else if (section == SECTION_UMP) {
|
||||
|
@ -762,6 +765,11 @@ std::string CConf::getModemRSSIMappingFile () const
|
|||
return m_modemRSSIMappingFile;
|
||||
}
|
||||
|
||||
bool CConf::getModemTrace() const
|
||||
{
|
||||
return m_modemTrace;
|
||||
}
|
||||
|
||||
bool CConf::getModemDebug() const
|
||||
{
|
||||
return m_modemDebug;
|
||||
|
|
2
Conf.h
2
Conf.h
|
@ -79,6 +79,7 @@ public:
|
|||
unsigned int getModemYSFTXLevel() const;
|
||||
unsigned int getModemP25TXLevel() const;
|
||||
std::string getModemRSSIMappingFile() const;
|
||||
bool getModemTrace() const;
|
||||
bool getModemDebug() const;
|
||||
|
||||
// The UMP section
|
||||
|
@ -233,6 +234,7 @@ private:
|
|||
unsigned int m_modemYSFTXLevel;
|
||||
unsigned int m_modemP25TXLevel;
|
||||
std::string m_modemRSSIMappingFile;
|
||||
bool m_modemTrace;
|
||||
bool m_modemDebug;
|
||||
|
||||
bool m_umpEnabled;
|
||||
|
|
|
@ -51,6 +51,7 @@ TXLevel=50
|
|||
# YSFTXLevel=50
|
||||
# P25TXLevel=50
|
||||
RSSIMappingFile=RSSI.dat
|
||||
Trace=0
|
||||
Debug=0
|
||||
|
||||
[UMP]
|
||||
|
|
|
@ -805,6 +805,7 @@ bool CMMDVMHost::createModem()
|
|||
unsigned int dmrTXLevel = m_conf.getModemDMRTXLevel();
|
||||
unsigned int ysfTXLevel = m_conf.getModemYSFTXLevel();
|
||||
unsigned int p25TXLevel = m_conf.getModemP25TXLevel();
|
||||
bool trace = m_conf.getModemTrace();
|
||||
bool debug = m_conf.getModemDebug();
|
||||
unsigned int colorCode = m_conf.getDMRColorCode();
|
||||
bool lowDeviation = m_conf.getFusionLowDeviation();
|
||||
|
@ -827,7 +828,7 @@ bool CMMDVMHost::createModem()
|
|||
LogInfo(" RX Frequency: %uHz", rxFrequency);
|
||||
LogInfo(" TX Frequency: %uHz", txFrequency);
|
||||
|
||||
m_modem = new CModem(port, m_duplex, rxInvert, txInvert, pttInvert, txDelay, dmrDelay, debug);
|
||||
m_modem = new CModem(port, m_duplex, rxInvert, txInvert, pttInvert, txDelay, dmrDelay, trace, debug);
|
||||
m_modem->setModeParams(m_dstarEnabled, m_dmrEnabled, m_ysfEnabled, m_p25Enabled);
|
||||
m_modem->setLevels(rxLevel, cwIdTXLevel, dstarTXLevel, dmrTXLevel, ysfTXLevel, p25TXLevel);
|
||||
m_modem->setRFParams(rxFrequency, txFrequency);
|
||||
|
|
57
Modem.cpp
57
Modem.cpp
|
@ -83,7 +83,7 @@ const unsigned int MAX_RESPONSES = 30U;
|
|||
const unsigned int BUFFER_LENGTH = 2000U;
|
||||
|
||||
|
||||
CModem::CModem(const std::string& port, bool duplex, bool rxInvert, bool txInvert, bool pttInvert, unsigned int txDelay, unsigned int dmrDelay, bool debug) :
|
||||
CModem::CModem(const std::string& port, bool duplex, bool rxInvert, bool txInvert, bool pttInvert, unsigned int txDelay, unsigned int dmrDelay, bool trace, bool debug) :
|
||||
m_port(port),
|
||||
m_dmrColorCode(0U),
|
||||
m_ysfLoDev(false),
|
||||
|
@ -99,6 +99,7 @@ m_dstarTXLevel(0U),
|
|||
m_dmrTXLevel(0U),
|
||||
m_ysfTXLevel(0U),
|
||||
m_p25TXLevel(0U),
|
||||
m_trace(trace),
|
||||
m_debug(debug),
|
||||
m_rxFrequency(0U),
|
||||
m_txFrequency(0U),
|
||||
|
@ -248,7 +249,7 @@ void CModem::clock(unsigned int ms)
|
|||
// type == RTM_OK
|
||||
switch (m_buffer[2U]) {
|
||||
case MMDVM_DSTAR_HEADER: {
|
||||
if (m_debug)
|
||||
if (m_trace)
|
||||
CUtils::dump(1U, "RX D-Star Header", m_buffer, m_length);
|
||||
|
||||
unsigned char data = m_length - 2U;
|
||||
|
@ -262,7 +263,7 @@ void CModem::clock(unsigned int ms)
|
|||
break;
|
||||
|
||||
case MMDVM_DSTAR_DATA: {
|
||||
if (m_debug)
|
||||
if (m_trace)
|
||||
CUtils::dump(1U, "RX D-Star Data", m_buffer, m_length);
|
||||
|
||||
unsigned char data = m_length - 2U;
|
||||
|
@ -276,7 +277,7 @@ void CModem::clock(unsigned int ms)
|
|||
break;
|
||||
|
||||
case MMDVM_DSTAR_LOST: {
|
||||
if (m_debug)
|
||||
if (m_trace)
|
||||
CUtils::dump(1U, "RX D-Star Lost", m_buffer, m_length);
|
||||
|
||||
unsigned char data = 1U;
|
||||
|
@ -288,7 +289,7 @@ void CModem::clock(unsigned int ms)
|
|||
break;
|
||||
|
||||
case MMDVM_DSTAR_EOT: {
|
||||
if (m_debug)
|
||||
if (m_trace)
|
||||
CUtils::dump(1U, "RX D-Star EOT", m_buffer, m_length);
|
||||
|
||||
unsigned char data = 1U;
|
||||
|
@ -300,7 +301,7 @@ void CModem::clock(unsigned int ms)
|
|||
break;
|
||||
|
||||
case MMDVM_DMR_DATA1: {
|
||||
if (m_debug)
|
||||
if (m_trace)
|
||||
CUtils::dump(1U, "RX DMR Data 1", m_buffer, m_length);
|
||||
|
||||
unsigned char data = m_length - 2U;
|
||||
|
@ -317,7 +318,7 @@ void CModem::clock(unsigned int ms)
|
|||
break;
|
||||
|
||||
case MMDVM_DMR_DATA2: {
|
||||
if (m_debug)
|
||||
if (m_trace)
|
||||
CUtils::dump(1U, "RX DMR Data 2", m_buffer, m_length);
|
||||
|
||||
unsigned char data = m_length - 2U;
|
||||
|
@ -334,7 +335,7 @@ void CModem::clock(unsigned int ms)
|
|||
break;
|
||||
|
||||
case MMDVM_DMR_LOST1: {
|
||||
if (m_debug)
|
||||
if (m_trace)
|
||||
CUtils::dump(1U, "RX DMR Lost 1", m_buffer, m_length);
|
||||
|
||||
unsigned char data = 1U;
|
||||
|
@ -346,7 +347,7 @@ void CModem::clock(unsigned int ms)
|
|||
break;
|
||||
|
||||
case MMDVM_DMR_LOST2: {
|
||||
if (m_debug)
|
||||
if (m_trace)
|
||||
CUtils::dump(1U, "RX DMR Lost 2", m_buffer, m_length);
|
||||
|
||||
unsigned char data = 1U;
|
||||
|
@ -358,7 +359,7 @@ void CModem::clock(unsigned int ms)
|
|||
break;
|
||||
|
||||
case MMDVM_YSF_DATA: {
|
||||
if (m_debug)
|
||||
if (m_trace)
|
||||
CUtils::dump(1U, "RX YSF Data", m_buffer, m_length);
|
||||
|
||||
unsigned char data = m_length - 2U;
|
||||
|
@ -372,7 +373,7 @@ void CModem::clock(unsigned int ms)
|
|||
break;
|
||||
|
||||
case MMDVM_YSF_LOST: {
|
||||
if (m_debug)
|
||||
if (m_trace)
|
||||
CUtils::dump(1U, "RX YSF Lost", m_buffer, m_length);
|
||||
|
||||
unsigned char data = 1U;
|
||||
|
@ -384,7 +385,7 @@ void CModem::clock(unsigned int ms)
|
|||
break;
|
||||
|
||||
case MMDVM_P25_HDR: {
|
||||
if (m_debug)
|
||||
if (m_trace)
|
||||
CUtils::dump(1U, "RX P25 Header", m_buffer, m_length);
|
||||
|
||||
unsigned char data = m_length - 2U;
|
||||
|
@ -398,7 +399,7 @@ void CModem::clock(unsigned int ms)
|
|||
break;
|
||||
|
||||
case MMDVM_P25_LDU: {
|
||||
if (m_debug)
|
||||
if (m_trace)
|
||||
CUtils::dump(1U, "RX P25 LDU", m_buffer, m_length);
|
||||
|
||||
unsigned char data = m_length - 2U;
|
||||
|
@ -412,7 +413,7 @@ void CModem::clock(unsigned int ms)
|
|||
break;
|
||||
|
||||
case MMDVM_P25_LOST: {
|
||||
if (m_debug)
|
||||
if (m_trace)
|
||||
CUtils::dump(1U, "RX P25 Lost", m_buffer, m_length);
|
||||
|
||||
unsigned char data = 1U;
|
||||
|
@ -424,7 +425,7 @@ void CModem::clock(unsigned int ms)
|
|||
break;
|
||||
|
||||
case MMDVM_GET_STATUS: {
|
||||
// if (m_debug)
|
||||
// if (m_trace)
|
||||
// CUtils::dump(1U, "GET_STATUS", m_buffer, m_length);
|
||||
|
||||
m_tx = (m_buffer[5U] & 0x01U) == 0x01U;
|
||||
|
@ -502,17 +503,17 @@ void CModem::clock(unsigned int ms)
|
|||
|
||||
switch (buffer[3U]) {
|
||||
case MMDVM_DSTAR_HEADER:
|
||||
if (m_debug)
|
||||
if (m_trace)
|
||||
CUtils::dump(1U, "TX D-Star Header", m_buffer, len);
|
||||
m_dstarSpace -= 4U;
|
||||
break;
|
||||
case MMDVM_DSTAR_DATA:
|
||||
if (m_debug)
|
||||
if (m_trace)
|
||||
CUtils::dump(1U, "TX D-Star Data", m_buffer, len);
|
||||
m_dstarSpace -= 1U;
|
||||
break;
|
||||
default:
|
||||
if (m_debug)
|
||||
if (m_trace)
|
||||
CUtils::dump(1U, "TX D-Star EOT", m_buffer, len);
|
||||
m_dstarSpace -= 1U;
|
||||
break;
|
||||
|
@ -531,7 +532,7 @@ void CModem::clock(unsigned int ms)
|
|||
m_txDMRData1.getData(&len, 1U);
|
||||
m_txDMRData1.getData(m_buffer, len);
|
||||
|
||||
if (m_debug)
|
||||
if (m_trace)
|
||||
CUtils::dump(1U, "TX DMR Data 1", m_buffer, len);
|
||||
|
||||
int ret = m_serial.write(m_buffer, len);
|
||||
|
@ -548,7 +549,7 @@ void CModem::clock(unsigned int ms)
|
|||
m_txDMRData2.getData(&len, 1U);
|
||||
m_txDMRData2.getData(m_buffer, len);
|
||||
|
||||
if (m_debug)
|
||||
if (m_trace)
|
||||
CUtils::dump(1U, "TX DMR Data 2", m_buffer, len);
|
||||
|
||||
int ret = m_serial.write(m_buffer, len);
|
||||
|
@ -565,7 +566,7 @@ void CModem::clock(unsigned int ms)
|
|||
m_txYSFData.getData(&len, 1U);
|
||||
m_txYSFData.getData(m_buffer, len);
|
||||
|
||||
if (m_debug)
|
||||
if (m_trace)
|
||||
CUtils::dump(1U, "TX YSF Data", m_buffer, len);
|
||||
|
||||
int ret = m_serial.write(m_buffer, len);
|
||||
|
@ -582,7 +583,7 @@ void CModem::clock(unsigned int ms)
|
|||
m_txP25Data.getData(&len, 1U);
|
||||
m_txP25Data.getData(m_buffer, len);
|
||||
|
||||
if (m_debug) {
|
||||
if (m_trace) {
|
||||
if (m_buffer[2U] == MMDVM_P25_HDR)
|
||||
CUtils::dump(1U, "TX P25 HDR", m_buffer, len);
|
||||
else
|
||||
|
@ -955,6 +956,8 @@ bool CModem::setConfig()
|
|||
buffer[3U] |= 0x04U;
|
||||
if (m_ysfLoDev)
|
||||
buffer[3U] |= 0x08U;
|
||||
if (m_debug)
|
||||
buffer[3U] |= 0x10U;
|
||||
if (!m_duplex)
|
||||
buffer[3U] |= 0x80U;
|
||||
|
||||
|
@ -1272,21 +1275,21 @@ bool CModem::writeDMRShortLC(const unsigned char* lc)
|
|||
|
||||
void CModem::printDebug()
|
||||
{
|
||||
if (m_buffer[2U] == 0xF1U) {
|
||||
if (m_buffer[2U] == MMDVM_DEBUG1) {
|
||||
LogMessage("Debug: %.*s", m_length - 3U, m_buffer + 3U);
|
||||
} else if (m_buffer[2U] == 0xF2U) {
|
||||
} else if (m_buffer[2U] == MMDVM_DEBUG2) {
|
||||
short val1 = (m_buffer[m_length - 2U] << 8) | m_buffer[m_length - 1U];
|
||||
LogMessage("Debug: %.*s %d", m_length - 5U, m_buffer + 3U, val1);
|
||||
} else if (m_buffer[2U] == 0xF3U) {
|
||||
} else if (m_buffer[2U] == MMDVM_DEBUG3) {
|
||||
short val1 = (m_buffer[m_length - 4U] << 8) | m_buffer[m_length - 3U];
|
||||
short val2 = (m_buffer[m_length - 2U] << 8) | m_buffer[m_length - 1U];
|
||||
LogMessage("Debug: %.*s %d %d", m_length - 7U, m_buffer + 3U, val1, val2);
|
||||
} else if (m_buffer[2U] == 0xF4U) {
|
||||
} else if (m_buffer[2U] == MMDVM_DEBUG4) {
|
||||
short val1 = (m_buffer[m_length - 6U] << 8) | m_buffer[m_length - 5U];
|
||||
short val2 = (m_buffer[m_length - 4U] << 8) | m_buffer[m_length - 3U];
|
||||
short val3 = (m_buffer[m_length - 2U] << 8) | m_buffer[m_length - 1U];
|
||||
LogMessage("Debug: %.*s %d %d %d", m_length - 9U, m_buffer + 3U, val1, val2, val3);
|
||||
} else if (m_buffer[2U] == 0xF5U) {
|
||||
} else if (m_buffer[2U] == MMDVM_DEBUG5) {
|
||||
short val1 = (m_buffer[m_length - 8U] << 8) | m_buffer[m_length - 7U];
|
||||
short val2 = (m_buffer[m_length - 6U] << 8) | m_buffer[m_length - 5U];
|
||||
short val3 = (m_buffer[m_length - 4U] << 8) | m_buffer[m_length - 3U];
|
||||
|
|
3
Modem.h
3
Modem.h
|
@ -34,7 +34,7 @@ enum RESP_TYPE_MMDVM {
|
|||
|
||||
class CModem {
|
||||
public:
|
||||
CModem(const std::string& port, bool duplex, bool rxInvert, bool txInvert, bool pttInvert, unsigned int txDelay, unsigned int dmrDelay, bool debug = false);
|
||||
CModem(const std::string& port, bool duplex, bool rxInvert, bool txInvert, bool pttInvert, unsigned int txDelay, unsigned int dmrDelay, bool trace, bool debug);
|
||||
~CModem();
|
||||
|
||||
void setRFParams(unsigned int rxFrequency, unsigned int txFrequency);
|
||||
|
@ -103,6 +103,7 @@ private:
|
|||
unsigned int m_dmrTXLevel;
|
||||
unsigned int m_ysfTXLevel;
|
||||
unsigned int m_p25TXLevel;
|
||||
bool m_trace;
|
||||
bool m_debug;
|
||||
unsigned int m_rxFrequency;
|
||||
unsigned int m_txFrequency;
|
||||
|
|
Loading…
Reference in a new issue