Merge branch 'master' into FM
This commit is contained in:
commit
dc5438e3aa
16
Conf.cpp
16
Conf.cpp
|
@ -163,12 +163,14 @@ m_p25NAC(0x293U),
|
|||
m_p25SelfOnly(false),
|
||||
m_p25OverrideUID(false),
|
||||
m_p25RemoteGateway(false),
|
||||
m_p25TXHang(5U),
|
||||
m_p25ModeHang(10U),
|
||||
m_nxdnEnabled(false),
|
||||
m_nxdnId(0U),
|
||||
m_nxdnRAN(1U),
|
||||
m_nxdnSelfOnly(false),
|
||||
m_nxdnRemoteGateway(false),
|
||||
m_nxdnTXHang(5U),
|
||||
m_nxdnModeHang(10U),
|
||||
m_pocsagEnabled(false),
|
||||
m_pocsagFrequency(0U),
|
||||
|
@ -674,6 +676,8 @@ bool CConf::read()
|
|||
m_p25SelfOnly = ::atoi(value) == 1;
|
||||
else if (::strcmp(key, "RemoteGateway") == 0)
|
||||
m_p25RemoteGateway = ::atoi(value) == 1;
|
||||
else if (::strcmp(key, "TXHang") == 0)
|
||||
m_p25TXHang = (unsigned int)::atoi(value);
|
||||
else if (::strcmp(key, "ModeHang") == 0)
|
||||
m_p25ModeHang = (unsigned int)::atoi(value);
|
||||
} else if (section == SECTION_NXDN) {
|
||||
|
@ -687,6 +691,8 @@ bool CConf::read()
|
|||
m_nxdnSelfOnly = ::atoi(value) == 1;
|
||||
else if (::strcmp(key, "RemoteGateway") == 0)
|
||||
m_nxdnRemoteGateway = ::atoi(value) == 1;
|
||||
else if (::strcmp(key, "TXHang") == 0)
|
||||
m_nxdnTXHang = (unsigned int)::atoi(value);
|
||||
else if (::strcmp(key, "ModeHang") == 0)
|
||||
m_nxdnModeHang = (unsigned int)::atoi(value);
|
||||
} else if (section == SECTION_POCSAG) {
|
||||
|
@ -1461,6 +1467,11 @@ bool CConf::getP25RemoteGateway() const
|
|||
return m_p25RemoteGateway;
|
||||
}
|
||||
|
||||
unsigned int CConf::getP25TXHang() const
|
||||
{
|
||||
return m_p25TXHang;
|
||||
}
|
||||
|
||||
unsigned int CConf::getP25ModeHang() const
|
||||
{
|
||||
return m_p25ModeHang;
|
||||
|
@ -1491,6 +1502,11 @@ bool CConf::getNXDNRemoteGateway() const
|
|||
return m_nxdnRemoteGateway;
|
||||
}
|
||||
|
||||
unsigned int CConf::getNXDNTXHang() const
|
||||
{
|
||||
return m_nxdnTXHang;
|
||||
}
|
||||
|
||||
unsigned int CConf::getNXDNModeHang() const
|
||||
{
|
||||
return m_nxdnModeHang;
|
||||
|
|
4
Conf.h
4
Conf.h
|
@ -155,6 +155,7 @@ public:
|
|||
bool getP25SelfOnly() const;
|
||||
bool getP25OverrideUID() const;
|
||||
bool getP25RemoteGateway() const;
|
||||
unsigned int getP25TXHang() const;
|
||||
unsigned int getP25ModeHang() const;
|
||||
|
||||
// The NXDN section
|
||||
|
@ -163,6 +164,7 @@ public:
|
|||
unsigned int getNXDNRAN() const;
|
||||
bool getNXDNSelfOnly() const;
|
||||
bool getNXDNRemoteGateway() const;
|
||||
unsigned int getNXDNTXHang() const;
|
||||
unsigned int getNXDNModeHang() const;
|
||||
|
||||
// The POCSAG section
|
||||
|
@ -426,6 +428,7 @@ private:
|
|||
bool m_p25SelfOnly;
|
||||
bool m_p25OverrideUID;
|
||||
bool m_p25RemoteGateway;
|
||||
unsigned int m_p25TXHang;
|
||||
unsigned int m_p25ModeHang;
|
||||
|
||||
bool m_nxdnEnabled;
|
||||
|
@ -433,6 +436,7 @@ private:
|
|||
unsigned int m_nxdnRAN;
|
||||
bool m_nxdnSelfOnly;
|
||||
bool m_nxdnRemoteGateway;
|
||||
unsigned int m_nxdnTXHang;
|
||||
unsigned int m_nxdnModeHang;
|
||||
|
||||
bool m_pocsagEnabled;
|
||||
|
|
|
@ -126,6 +126,7 @@ NAC=293
|
|||
SelfOnly=0
|
||||
OverrideUIDCheck=0
|
||||
RemoteGateway=0
|
||||
TXHang=5
|
||||
# ModeHang=10
|
||||
|
||||
[NXDN]
|
||||
|
@ -133,6 +134,7 @@ Enable=1
|
|||
RAN=1
|
||||
SelfOnly=0
|
||||
RemoteGateway=0
|
||||
TXHang=5
|
||||
# ModeHang=10
|
||||
|
||||
[POCSAG]
|
||||
|
|
|
@ -550,12 +550,13 @@ int CMMDVMHost::run()
|
|||
}
|
||||
|
||||
if (m_p25Enabled) {
|
||||
unsigned int id = m_conf.getP25Id();
|
||||
unsigned int nac = m_conf.getP25NAC();
|
||||
bool uidOverride = m_conf.getP25OverrideUID();
|
||||
bool selfOnly = m_conf.getP25SelfOnly();
|
||||
bool remoteGateway = m_conf.getP25RemoteGateway();
|
||||
m_p25RFModeHang = m_conf.getP25ModeHang();
|
||||
unsigned int id = m_conf.getP25Id();
|
||||
unsigned int nac = m_conf.getP25NAC();
|
||||
unsigned int txHang = m_conf.getP25TXHang();
|
||||
bool uidOverride = m_conf.getP25OverrideUID();
|
||||
bool selfOnly = m_conf.getP25SelfOnly();
|
||||
bool remoteGateway = m_conf.getP25RemoteGateway();
|
||||
m_p25RFModeHang = m_conf.getP25ModeHang();
|
||||
|
||||
LogInfo("P25 RF Parameters");
|
||||
LogInfo(" Id: %u", id);
|
||||
|
@ -563,6 +564,7 @@ int CMMDVMHost::run()
|
|||
LogInfo(" UID Override: %s", uidOverride ? "yes" : "no");
|
||||
LogInfo(" Self Only: %s", selfOnly ? "yes" : "no");
|
||||
LogInfo(" Remote Gateway: %s", remoteGateway ? "yes" : "no");
|
||||
LogInfo(" TX Hang: %us", txHang);
|
||||
LogInfo(" Mode Hang: %us", m_p25RFModeHang);
|
||||
|
||||
m_p25 = new CP25Control(nac, id, selfOnly, uidOverride, m_p25Network, m_display, m_timeout, m_duplex, m_dmrLookup, remoteGateway, rssi);
|
||||
|
@ -580,17 +582,19 @@ int CMMDVMHost::run()
|
|||
m_nxdnLookup = new CNXDNLookup(lookupFile, reloadTime);
|
||||
m_nxdnLookup->read();
|
||||
|
||||
unsigned int id = m_conf.getNXDNId();
|
||||
unsigned int ran = m_conf.getNXDNRAN();
|
||||
bool selfOnly = m_conf.getNXDNSelfOnly();
|
||||
bool remoteGateway = m_conf.getNXDNRemoteGateway();
|
||||
m_nxdnRFModeHang = m_conf.getNXDNModeHang();
|
||||
unsigned int id = m_conf.getNXDNId();
|
||||
unsigned int ran = m_conf.getNXDNRAN();
|
||||
bool selfOnly = m_conf.getNXDNSelfOnly();
|
||||
bool remoteGateway = m_conf.getNXDNRemoteGateway();
|
||||
unsigned int txHang = m_conf.getNXDNTXHang();
|
||||
m_nxdnRFModeHang = m_conf.getNXDNModeHang();
|
||||
|
||||
LogInfo("NXDN RF Parameters");
|
||||
LogInfo(" Id: %u", id);
|
||||
LogInfo(" RAN: %u", ran);
|
||||
LogInfo(" Self Only: %s", selfOnly ? "yes" : "no");
|
||||
LogInfo(" Remote Gateway: %s", remoteGateway ? "yes" : "no");
|
||||
LogInfo(" TX Hang: %us", txHang);
|
||||
LogInfo(" Mode Hang: %us", m_nxdnRFModeHang);
|
||||
|
||||
m_nxdn = new CNXDNControl(ran, id, selfOnly, m_nxdnNetwork, m_display, m_timeout, m_duplex, remoteGateway, m_nxdnLookup, rssi);
|
||||
|
@ -1164,7 +1168,9 @@ bool CMMDVMHost::createModem()
|
|||
bool debug = m_conf.getModemDebug();
|
||||
unsigned int colorCode = m_conf.getDMRColorCode();
|
||||
bool lowDeviation = m_conf.getFusionLowDeviation();
|
||||
unsigned int txHang = m_conf.getFusionTXHang();
|
||||
unsigned int ysfTXHang = m_conf.getFusionTXHang();
|
||||
unsigned int p25TXHang = m_conf.getP25TXHang();
|
||||
unsigned int nxdnTXHang = m_conf.getNXDNTXHang();
|
||||
unsigned int rxFrequency = m_conf.getRXFrequency();
|
||||
unsigned int txFrequency = m_conf.getTXFrequency();
|
||||
unsigned int pocsagFrequency = m_conf.getPOCSAGFrequency();
|
||||
|
@ -1206,7 +1212,9 @@ bool CMMDVMHost::createModem()
|
|||
m_modem->setLevels(rxLevel, cwIdTXLevel, dstarTXLevel, dmrTXLevel, ysfTXLevel, p25TXLevel, nxdnTXLevel, pocsagTXLevel, fmTXLevel);
|
||||
m_modem->setRFParams(rxFrequency, rxOffset, txFrequency, txOffset, txDCOffset, rxDCOffset, rfLevel, pocsagFrequency);
|
||||
m_modem->setDMRParams(colorCode);
|
||||
m_modem->setYSFParams(lowDeviation, txHang);
|
||||
m_modem->setYSFParams(lowDeviation, ysfTXHang);
|
||||
m_modem->setP25Params(p25TXHang);
|
||||
m_modem->setNXDNParams(nxdnTXHang);
|
||||
|
||||
if (m_fmEnabled) {
|
||||
std::string callsign = m_conf.getFMCallsign();
|
||||
|
|
24
Modem.cpp
24
Modem.cpp
|
@ -104,6 +104,8 @@ m_port(port),
|
|||
m_dmrColorCode(0U),
|
||||
m_ysfLoDev(false),
|
||||
m_ysfTXHang(4U),
|
||||
m_p25TXHang(5U),
|
||||
m_nxdnTXHang(5U),
|
||||
m_duplex(duplex),
|
||||
m_rxInvert(rxInvert),
|
||||
m_txInvert(txInvert),
|
||||
|
@ -265,6 +267,16 @@ void CModem::setYSFParams(bool loDev, unsigned int txHang)
|
|||
m_ysfTXHang = txHang;
|
||||
}
|
||||
|
||||
void CModem::setP25Params(unsigned int txHang)
|
||||
{
|
||||
m_p25TXHang = txHang;
|
||||
}
|
||||
|
||||
void CModem::setNXDNParams(unsigned int txHang)
|
||||
{
|
||||
m_nxdnTXHang = txHang;
|
||||
}
|
||||
|
||||
void CModem::setTransparentDataParams(unsigned int sendFrameType)
|
||||
{
|
||||
m_sendTransparentDataFrameType = sendFrameType;
|
||||
|
@ -1507,7 +1519,7 @@ bool CModem::setConfig()
|
|||
|
||||
buffer[0U] = MMDVM_FRAME_START;
|
||||
|
||||
buffer[1U] = 22U;
|
||||
buffer[1U] = 24U;
|
||||
|
||||
buffer[2U] = MMDVM_SET_CONFIG;
|
||||
|
||||
|
@ -1571,10 +1583,14 @@ bool CModem::setConfig()
|
|||
|
||||
buffer[21U] = (unsigned char)(m_fmTXLevel * 2.55F + 0.5F);
|
||||
|
||||
// CUtils::dump(1U, "Written", buffer, 22U);
|
||||
buffer[22U] = (unsigned char)m_p25TXHang;
|
||||
|
||||
int ret = m_serial->write(buffer, 22U);
|
||||
if (ret != 22)
|
||||
buffer[23U] = (unsigned char)m_nxdnTXHang;
|
||||
|
||||
// CUtils::dump(1U, "Written", buffer, 24U);
|
||||
|
||||
int ret = m_serial->write(buffer, 24U);
|
||||
if (ret != 24)
|
||||
return false;
|
||||
|
||||
unsigned int count = 0U;
|
||||
|
|
4
Modem.h
4
Modem.h
|
@ -43,6 +43,8 @@ public:
|
|||
virtual void setLevels(float rxLevel, float cwIdTXLevel, float dstarTXLevel, float dmrTXLevel, float ysfTXLevel, float p25TXLevel, float nxdnTXLevel, float pocsagLevel, float fmTXLevel);
|
||||
virtual void setDMRParams(unsigned int colorCode);
|
||||
virtual void setYSFParams(bool loDev, unsigned int txHang);
|
||||
virtual void setP25Params(unsigned int txHang);
|
||||
virtual void setNXDNParams(unsigned int txHang);
|
||||
virtual void setTransparentDataParams(unsigned int sendFrameType);
|
||||
|
||||
virtual void setFMCallsignParams(const std::string& callsign, unsigned int callsignSpeed, unsigned int callsignFrequency, unsigned int callsignTime, unsigned int callsignHoldoff, float callsignHighLevel, float callsignLowLevel, bool callsignAtStart, bool callsignAtEnd, bool callsignAtLatch);
|
||||
|
@ -118,6 +120,8 @@ private:
|
|||
unsigned int m_dmrColorCode;
|
||||
bool m_ysfLoDev;
|
||||
unsigned int m_ysfTXHang;
|
||||
unsigned int m_p25TXHang;
|
||||
unsigned int m_nxdnTXHang;
|
||||
bool m_duplex;
|
||||
bool m_rxInvert;
|
||||
bool m_txInvert;
|
||||
|
|
Loading…
Reference in a new issue