mirror of
https://github.com/g4klx/MMDVMHost
synced 2025-12-21 23:45:49 +08:00
Merge branch 'master' into AX25_FM
This commit is contained in:
17
Conf.cpp
17
Conf.cpp
@@ -160,8 +160,6 @@ m_fusionLowDeviation(false),
|
|||||||
m_fusionRemoteGateway(false),
|
m_fusionRemoteGateway(false),
|
||||||
m_fusionSelfOnly(false),
|
m_fusionSelfOnly(false),
|
||||||
m_fusionTXHang(4U),
|
m_fusionTXHang(4U),
|
||||||
m_fusionDGIdEnabled(false),
|
|
||||||
m_fusionDGId(0U),
|
|
||||||
m_fusionModeHang(10U),
|
m_fusionModeHang(10U),
|
||||||
m_p25Enabled(false),
|
m_p25Enabled(false),
|
||||||
m_p25Id(0U),
|
m_p25Id(0U),
|
||||||
@@ -695,10 +693,7 @@ bool CConf::read()
|
|||||||
m_fusionEnabled = ::atoi(value) == 1;
|
m_fusionEnabled = ::atoi(value) == 1;
|
||||||
else if (::strcmp(key, "LowDeviation") == 0)
|
else if (::strcmp(key, "LowDeviation") == 0)
|
||||||
m_fusionLowDeviation = ::atoi(value) == 1;
|
m_fusionLowDeviation = ::atoi(value) == 1;
|
||||||
else if (::strcmp(key, "DGID") == 0) {
|
else if (::strcmp(key, "RemoteGateway") == 0)
|
||||||
m_fusionDGIdEnabled = true;
|
|
||||||
m_fusionDGId = (unsigned int)::atoi(value);
|
|
||||||
} else if (::strcmp(key, "RemoteGateway") == 0)
|
|
||||||
m_fusionRemoteGateway = ::atoi(value) == 1;
|
m_fusionRemoteGateway = ::atoi(value) == 1;
|
||||||
else if (::strcmp(key, "SelfOnly") == 0)
|
else if (::strcmp(key, "SelfOnly") == 0)
|
||||||
m_fusionSelfOnly = ::atoi(value) == 1;
|
m_fusionSelfOnly = ::atoi(value) == 1;
|
||||||
@@ -1528,16 +1523,6 @@ bool CConf::getFusionSelfOnly() const
|
|||||||
return m_fusionSelfOnly;
|
return m_fusionSelfOnly;
|
||||||
}
|
}
|
||||||
|
|
||||||
bool CConf::getFusionDGIdEnabled() const
|
|
||||||
{
|
|
||||||
return m_fusionDGIdEnabled;
|
|
||||||
}
|
|
||||||
|
|
||||||
unsigned char CConf::getFusionDGId() const
|
|
||||||
{
|
|
||||||
return m_fusionDGId;
|
|
||||||
}
|
|
||||||
|
|
||||||
unsigned int CConf::getFusionModeHang() const
|
unsigned int CConf::getFusionModeHang() const
|
||||||
{
|
{
|
||||||
return m_fusionModeHang;
|
return m_fusionModeHang;
|
||||||
|
|||||||
4
Conf.h
4
Conf.h
@@ -147,8 +147,6 @@ public:
|
|||||||
bool getFusionRemoteGateway() const;
|
bool getFusionRemoteGateway() const;
|
||||||
bool getFusionSelfOnly() const;
|
bool getFusionSelfOnly() const;
|
||||||
unsigned int getFusionTXHang() const;
|
unsigned int getFusionTXHang() const;
|
||||||
bool getFusionDGIdEnabled() const;
|
|
||||||
unsigned char getFusionDGId() const;
|
|
||||||
unsigned int getFusionModeHang() const;
|
unsigned int getFusionModeHang() const;
|
||||||
|
|
||||||
// The P25 section
|
// The P25 section
|
||||||
@@ -453,8 +451,6 @@ private:
|
|||||||
bool m_fusionRemoteGateway;
|
bool m_fusionRemoteGateway;
|
||||||
bool m_fusionSelfOnly;
|
bool m_fusionSelfOnly;
|
||||||
unsigned int m_fusionTXHang;
|
unsigned int m_fusionTXHang;
|
||||||
bool m_fusionDGIdEnabled;
|
|
||||||
unsigned char m_fusionDGId;
|
|
||||||
unsigned int m_fusionModeHang;
|
unsigned int m_fusionModeHang;
|
||||||
|
|
||||||
bool m_p25Enabled;
|
bool m_p25Enabled;
|
||||||
|
|||||||
@@ -119,7 +119,6 @@ Enable=1
|
|||||||
LowDeviation=0
|
LowDeviation=0
|
||||||
SelfOnly=0
|
SelfOnly=0
|
||||||
TXHang=4
|
TXHang=4
|
||||||
#DGID=1
|
|
||||||
RemoteGateway=0
|
RemoteGateway=0
|
||||||
# ModeHang=10
|
# ModeHang=10
|
||||||
|
|
||||||
|
|||||||
@@ -555,8 +555,6 @@ int CMMDVMHost::run()
|
|||||||
bool remoteGateway = m_conf.getFusionRemoteGateway();
|
bool remoteGateway = m_conf.getFusionRemoteGateway();
|
||||||
unsigned int txHang = m_conf.getFusionTXHang();
|
unsigned int txHang = m_conf.getFusionTXHang();
|
||||||
bool selfOnly = m_conf.getFusionSelfOnly();
|
bool selfOnly = m_conf.getFusionSelfOnly();
|
||||||
bool dgIdEnabled = m_conf.getFusionDGIdEnabled();
|
|
||||||
unsigned char dgId = m_conf.getFusionDGId();
|
|
||||||
m_ysfRFModeHang = m_conf.getFusionModeHang();
|
m_ysfRFModeHang = m_conf.getFusionModeHang();
|
||||||
|
|
||||||
LogInfo("YSF RF Parameters");
|
LogInfo("YSF RF Parameters");
|
||||||
@@ -564,13 +562,9 @@ int CMMDVMHost::run()
|
|||||||
LogInfo(" Remote Gateway: %s", remoteGateway ? "yes" : "no");
|
LogInfo(" Remote Gateway: %s", remoteGateway ? "yes" : "no");
|
||||||
LogInfo(" TX Hang: %us", txHang);
|
LogInfo(" TX Hang: %us", txHang);
|
||||||
LogInfo(" Self Only: %s", selfOnly ? "yes" : "no");
|
LogInfo(" Self Only: %s", selfOnly ? "yes" : "no");
|
||||||
LogInfo(" DG-ID: %s", dgIdEnabled ? "yes" : "no");
|
|
||||||
if (dgIdEnabled)
|
|
||||||
LogInfo(" DG-ID Value: %u", dgId);
|
|
||||||
LogInfo(" Mode Hang: %us", m_ysfRFModeHang);
|
LogInfo(" Mode Hang: %us", m_ysfRFModeHang);
|
||||||
|
|
||||||
m_ysf = new CYSFControl(m_callsign, selfOnly, m_ysfNetwork, m_display, m_timeout, m_duplex, lowDeviation, remoteGateway, rssi);
|
m_ysf = new CYSFControl(m_callsign, selfOnly, m_ysfNetwork, m_display, m_timeout, m_duplex, lowDeviation, remoteGateway, rssi);
|
||||||
m_ysf->setDGId(dgIdEnabled, dgId);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
if (m_p25Enabled) {
|
if (m_p25Enabled) {
|
||||||
|
|||||||
@@ -32,8 +32,6 @@ m_display(display),
|
|||||||
m_duplex(duplex),
|
m_duplex(duplex),
|
||||||
m_lowDeviation(lowDeviation),
|
m_lowDeviation(lowDeviation),
|
||||||
m_remoteGateway(remoteGateway),
|
m_remoteGateway(remoteGateway),
|
||||||
m_dgIdEnabled(false),
|
|
||||||
m_dgIdValue(0U),
|
|
||||||
m_queue(5000U, "YSF Control"),
|
m_queue(5000U, "YSF Control"),
|
||||||
m_rfState(RS_RF_LISTENING),
|
m_rfState(RS_RF_LISTENING),
|
||||||
m_netState(RS_NET_IDLE),
|
m_netState(RS_NET_IDLE),
|
||||||
@@ -100,12 +98,6 @@ CYSFControl::~CYSFControl()
|
|||||||
delete[] m_selfCallsign;
|
delete[] m_selfCallsign;
|
||||||
}
|
}
|
||||||
|
|
||||||
void CYSFControl::setDGId(bool on, unsigned char value)
|
|
||||||
{
|
|
||||||
m_dgIdEnabled = on;
|
|
||||||
m_dgIdValue = value;
|
|
||||||
}
|
|
||||||
|
|
||||||
bool CYSFControl::writeModem(unsigned char *data, unsigned int len)
|
bool CYSFControl::writeModem(unsigned char *data, unsigned int len)
|
||||||
{
|
{
|
||||||
assert(data != NULL);
|
assert(data != NULL);
|
||||||
@@ -167,13 +159,6 @@ bool CYSFControl::writeModem(unsigned char *data, unsigned int len)
|
|||||||
if (valid)
|
if (valid)
|
||||||
m_lastFICH = fich;
|
m_lastFICH = fich;
|
||||||
|
|
||||||
// Validate the DG-ID value if enabled
|
|
||||||
if (m_dgIdEnabled) {
|
|
||||||
unsigned char value = m_lastFICH.getDGId();
|
|
||||||
if (value != m_dgIdValue)
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
|
|
||||||
#ifdef notdef
|
#ifdef notdef
|
||||||
// Stop repeater packets coming through, unless we're acting as a remote gateway
|
// Stop repeater packets coming through, unless we're acting as a remote gateway
|
||||||
if (m_remoteGateway) {
|
if (m_remoteGateway) {
|
||||||
@@ -258,8 +243,6 @@ bool CYSFControl::processVWData(bool valid, unsigned char *data)
|
|||||||
|
|
||||||
CYSFFICH fich = m_lastFICH;
|
CYSFFICH fich = m_lastFICH;
|
||||||
|
|
||||||
// Remove any DG-ID information
|
|
||||||
fich.setDGId(0U);
|
|
||||||
fich.encode(data + 2U);
|
fich.encode(data + 2U);
|
||||||
|
|
||||||
data[0U] = TAG_DATA;
|
data[0U] = TAG_DATA;
|
||||||
@@ -272,8 +255,6 @@ bool CYSFControl::processVWData(bool valid, unsigned char *data)
|
|||||||
#endif
|
#endif
|
||||||
|
|
||||||
if (m_duplex) {
|
if (m_duplex) {
|
||||||
// Add the DG-ID information.
|
|
||||||
fich.setDGId(m_dgIdEnabled ? m_dgIdValue : 0U);
|
|
||||||
fich.setMR(m_remoteGateway ? YSF_MR_NOT_BUSY : YSF_MR_BUSY);
|
fich.setMR(m_remoteGateway ? YSF_MR_NOT_BUSY : YSF_MR_BUSY);
|
||||||
fich.setDev(m_lowDeviation);
|
fich.setDev(m_lowDeviation);
|
||||||
fich.encode(data + 2U);
|
fich.encode(data + 2U);
|
||||||
@@ -299,8 +280,6 @@ bool CYSFControl::processVWData(bool valid, unsigned char *data)
|
|||||||
|
|
||||||
CYSFFICH fich = m_lastFICH;
|
CYSFFICH fich = m_lastFICH;
|
||||||
|
|
||||||
// Remove any DG-ID information
|
|
||||||
fich.setDGId(0U);
|
|
||||||
fich.encode(data + 2U);
|
fich.encode(data + 2U);
|
||||||
|
|
||||||
data[0U] = TAG_EOT;
|
data[0U] = TAG_EOT;
|
||||||
@@ -313,8 +292,6 @@ bool CYSFControl::processVWData(bool valid, unsigned char *data)
|
|||||||
#endif
|
#endif
|
||||||
|
|
||||||
if (m_duplex) {
|
if (m_duplex) {
|
||||||
// Add the DG-ID information.
|
|
||||||
fich.setDGId(m_dgIdEnabled ? m_dgIdValue : 0U);
|
|
||||||
fich.setMR(m_remoteGateway ? YSF_MR_NOT_BUSY : YSF_MR_BUSY);
|
fich.setMR(m_remoteGateway ? YSF_MR_NOT_BUSY : YSF_MR_BUSY);
|
||||||
fich.setDev(m_lowDeviation);
|
fich.setDev(m_lowDeviation);
|
||||||
fich.encode(data + 2U);
|
fich.encode(data + 2U);
|
||||||
@@ -355,8 +332,6 @@ bool CYSFControl::processVWData(bool valid, unsigned char *data)
|
|||||||
LogDebug("YSF, V Mode 3, seq %u, AMBE FEC %u/720 (%.1f%%)", m_rfFrames % 128, errors, float(errors) / 7.2F);
|
LogDebug("YSF, V Mode 3, seq %u, AMBE FEC %u/720 (%.1f%%)", m_rfFrames % 128, errors, float(errors) / 7.2F);
|
||||||
}
|
}
|
||||||
|
|
||||||
// Remove any DG-ID information
|
|
||||||
fich.setDGId(0U);
|
|
||||||
fich.encode(data + 2U);
|
fich.encode(data + 2U);
|
||||||
|
|
||||||
data[0U] = TAG_DATA;
|
data[0U] = TAG_DATA;
|
||||||
@@ -365,8 +340,6 @@ bool CYSFControl::processVWData(bool valid, unsigned char *data)
|
|||||||
writeNetwork(data, m_rfFrames % 128U);
|
writeNetwork(data, m_rfFrames % 128U);
|
||||||
|
|
||||||
if (m_duplex) {
|
if (m_duplex) {
|
||||||
// Add the DG-ID information.
|
|
||||||
fich.setDGId(m_dgIdEnabled ? m_dgIdValue : 0U);
|
|
||||||
fich.setMR(m_remoteGateway ? YSF_MR_NOT_BUSY : YSF_MR_BUSY);
|
fich.setMR(m_remoteGateway ? YSF_MR_NOT_BUSY : YSF_MR_BUSY);
|
||||||
fich.setDev(m_lowDeviation);
|
fich.setDev(m_lowDeviation);
|
||||||
fich.encode(data + 2U);
|
fich.encode(data + 2U);
|
||||||
@@ -435,8 +408,6 @@ bool CYSFControl::processDNData(bool valid, unsigned char *data)
|
|||||||
|
|
||||||
CYSFFICH fich = m_lastFICH;
|
CYSFFICH fich = m_lastFICH;
|
||||||
|
|
||||||
// Remove any DG-ID information
|
|
||||||
fich.setDGId(0U);
|
|
||||||
fich.encode(data + 2U);
|
fich.encode(data + 2U);
|
||||||
|
|
||||||
data[0U] = TAG_DATA;
|
data[0U] = TAG_DATA;
|
||||||
@@ -449,8 +420,6 @@ bool CYSFControl::processDNData(bool valid, unsigned char *data)
|
|||||||
#endif
|
#endif
|
||||||
|
|
||||||
if (m_duplex) {
|
if (m_duplex) {
|
||||||
// Add the DG-ID information.
|
|
||||||
fich.setDGId(m_dgIdEnabled ? m_dgIdValue : 0U);
|
|
||||||
fich.setMR(m_remoteGateway ? YSF_MR_NOT_BUSY : YSF_MR_BUSY);
|
fich.setMR(m_remoteGateway ? YSF_MR_NOT_BUSY : YSF_MR_BUSY);
|
||||||
fich.setDev(m_lowDeviation);
|
fich.setDev(m_lowDeviation);
|
||||||
fich.encode(data + 2U);
|
fich.encode(data + 2U);
|
||||||
@@ -476,8 +445,6 @@ bool CYSFControl::processDNData(bool valid, unsigned char *data)
|
|||||||
|
|
||||||
CYSFFICH fich = m_lastFICH;
|
CYSFFICH fich = m_lastFICH;
|
||||||
|
|
||||||
// Remove any DG-ID information
|
|
||||||
fich.setDGId(0U);
|
|
||||||
fich.encode(data + 2U);
|
fich.encode(data + 2U);
|
||||||
|
|
||||||
data[0U] = TAG_EOT;
|
data[0U] = TAG_EOT;
|
||||||
@@ -490,8 +457,6 @@ bool CYSFControl::processDNData(bool valid, unsigned char *data)
|
|||||||
#endif
|
#endif
|
||||||
|
|
||||||
if (m_duplex) {
|
if (m_duplex) {
|
||||||
// Add the DG-ID information.
|
|
||||||
fich.setDGId(m_dgIdEnabled ? m_dgIdValue : 0U);
|
|
||||||
fich.setMR(m_remoteGateway ? YSF_MR_NOT_BUSY : YSF_MR_BUSY);
|
fich.setMR(m_remoteGateway ? YSF_MR_NOT_BUSY : YSF_MR_BUSY);
|
||||||
fich.setDev(m_lowDeviation);
|
fich.setDev(m_lowDeviation);
|
||||||
fich.encode(data + 2U);
|
fich.encode(data + 2U);
|
||||||
@@ -552,8 +517,6 @@ bool CYSFControl::processDNData(bool valid, unsigned char *data)
|
|||||||
|
|
||||||
CYSFFICH fich = m_lastFICH;
|
CYSFFICH fich = m_lastFICH;
|
||||||
|
|
||||||
// Remove any DG-ID information
|
|
||||||
fich.setDGId(0U);
|
|
||||||
fich.encode(data + 2U);
|
fich.encode(data + 2U);
|
||||||
|
|
||||||
data[0U] = TAG_DATA;
|
data[0U] = TAG_DATA;
|
||||||
@@ -562,8 +525,6 @@ bool CYSFControl::processDNData(bool valid, unsigned char *data)
|
|||||||
writeNetwork(data, m_rfFrames % 128U);
|
writeNetwork(data, m_rfFrames % 128U);
|
||||||
|
|
||||||
if (m_duplex) {
|
if (m_duplex) {
|
||||||
// Add the DG-ID information.
|
|
||||||
fich.setDGId(m_dgIdEnabled ? m_dgIdValue : 0U);
|
|
||||||
fich.setMR(m_remoteGateway ? YSF_MR_NOT_BUSY : YSF_MR_BUSY);
|
fich.setMR(m_remoteGateway ? YSF_MR_NOT_BUSY : YSF_MR_BUSY);
|
||||||
fich.setDev(m_lowDeviation);
|
fich.setDev(m_lowDeviation);
|
||||||
fich.encode(data + 2U);
|
fich.encode(data + 2U);
|
||||||
@@ -642,7 +603,6 @@ bool CYSFControl::processDNData(bool valid, unsigned char *data)
|
|||||||
|
|
||||||
CYSFFICH fich = m_lastFICH;
|
CYSFFICH fich = m_lastFICH;
|
||||||
fich.setFI(YSF_FI_HEADER);
|
fich.setFI(YSF_FI_HEADER);
|
||||||
fich.setDGId(0U);
|
|
||||||
fich.encode(buffer + 2U);
|
fich.encode(buffer + 2U);
|
||||||
|
|
||||||
unsigned char csd1[20U], csd2[20U];
|
unsigned char csd1[20U], csd2[20U];
|
||||||
@@ -663,8 +623,6 @@ bool CYSFControl::processDNData(bool valid, unsigned char *data)
|
|||||||
writeNetwork(buffer, m_rfFrames % 128U);
|
writeNetwork(buffer, m_rfFrames % 128U);
|
||||||
|
|
||||||
if (m_duplex) {
|
if (m_duplex) {
|
||||||
// Add the DG-ID information.
|
|
||||||
fich.setDGId(m_dgIdEnabled ? m_dgIdValue : 0U);
|
|
||||||
fich.setMR(m_remoteGateway ? YSF_MR_NOT_BUSY : YSF_MR_BUSY);
|
fich.setMR(m_remoteGateway ? YSF_MR_NOT_BUSY : YSF_MR_BUSY);
|
||||||
fich.setDev(m_lowDeviation);
|
fich.setDev(m_lowDeviation);
|
||||||
fich.encode(buffer + 2U);
|
fich.encode(buffer + 2U);
|
||||||
@@ -682,8 +640,6 @@ bool CYSFControl::processDNData(bool valid, unsigned char *data)
|
|||||||
|
|
||||||
fich = m_lastFICH;
|
fich = m_lastFICH;
|
||||||
|
|
||||||
// Remove any DG-ID information
|
|
||||||
fich.setDGId(0U);
|
|
||||||
fich.encode(data + 2U);
|
fich.encode(data + 2U);
|
||||||
|
|
||||||
data[0U] = TAG_DATA;
|
data[0U] = TAG_DATA;
|
||||||
@@ -692,8 +648,6 @@ bool CYSFControl::processDNData(bool valid, unsigned char *data)
|
|||||||
writeNetwork(data, m_rfFrames % 128U);
|
writeNetwork(data, m_rfFrames % 128U);
|
||||||
|
|
||||||
if (m_duplex) {
|
if (m_duplex) {
|
||||||
// Add the DG-ID information.
|
|
||||||
fich.setDGId(m_dgIdEnabled ? m_dgIdValue : 0U);
|
|
||||||
fich.setMR(m_remoteGateway ? YSF_MR_NOT_BUSY : YSF_MR_BUSY);
|
fich.setMR(m_remoteGateway ? YSF_MR_NOT_BUSY : YSF_MR_BUSY);
|
||||||
fich.setDev(m_lowDeviation);
|
fich.setDev(m_lowDeviation);
|
||||||
fich.encode(data + 2U);
|
fich.encode(data + 2U);
|
||||||
@@ -759,8 +713,6 @@ bool CYSFControl::processFRData(bool valid, unsigned char *data)
|
|||||||
|
|
||||||
CYSFFICH fich = m_lastFICH;
|
CYSFFICH fich = m_lastFICH;
|
||||||
|
|
||||||
// Remove any DG-ID information
|
|
||||||
fich.setDGId(0U);
|
|
||||||
fich.encode(data + 2U);
|
fich.encode(data + 2U);
|
||||||
|
|
||||||
data[0U] = TAG_DATA;
|
data[0U] = TAG_DATA;
|
||||||
@@ -773,8 +725,6 @@ bool CYSFControl::processFRData(bool valid, unsigned char *data)
|
|||||||
#endif
|
#endif
|
||||||
|
|
||||||
if (m_duplex) {
|
if (m_duplex) {
|
||||||
// Add the DG-ID information.
|
|
||||||
fich.setDGId(m_dgIdEnabled ? m_dgIdValue : 0U);
|
|
||||||
fich.setMR(m_remoteGateway ? YSF_MR_NOT_BUSY : YSF_MR_BUSY);
|
fich.setMR(m_remoteGateway ? YSF_MR_NOT_BUSY : YSF_MR_BUSY);
|
||||||
fich.setDev(m_lowDeviation);
|
fich.setDev(m_lowDeviation);
|
||||||
fich.encode(data + 2U);
|
fich.encode(data + 2U);
|
||||||
@@ -800,8 +750,6 @@ bool CYSFControl::processFRData(bool valid, unsigned char *data)
|
|||||||
|
|
||||||
CYSFFICH fich = m_lastFICH;
|
CYSFFICH fich = m_lastFICH;
|
||||||
|
|
||||||
// Remove any DG-ID information
|
|
||||||
fich.setDGId(0U);
|
|
||||||
fich.encode(data + 2U);
|
fich.encode(data + 2U);
|
||||||
|
|
||||||
data[0U] = TAG_EOT;
|
data[0U] = TAG_EOT;
|
||||||
@@ -814,8 +762,6 @@ bool CYSFControl::processFRData(bool valid, unsigned char *data)
|
|||||||
#endif
|
#endif
|
||||||
|
|
||||||
if (m_duplex) {
|
if (m_duplex) {
|
||||||
// Add the DG-ID information.
|
|
||||||
fich.setDGId(m_dgIdEnabled ? m_dgIdValue : 0U);
|
|
||||||
fich.setMR(m_remoteGateway ? YSF_MR_NOT_BUSY : YSF_MR_BUSY);
|
fich.setMR(m_remoteGateway ? YSF_MR_NOT_BUSY : YSF_MR_BUSY);
|
||||||
fich.setDev(m_lowDeviation);
|
fich.setDev(m_lowDeviation);
|
||||||
fich.encode(data + 2U);
|
fich.encode(data + 2U);
|
||||||
@@ -852,8 +798,6 @@ bool CYSFControl::processFRData(bool valid, unsigned char *data)
|
|||||||
|
|
||||||
CYSFFICH fich = m_lastFICH;
|
CYSFFICH fich = m_lastFICH;
|
||||||
|
|
||||||
// Remove any DG-ID information
|
|
||||||
fich.setDGId(0U);
|
|
||||||
fich.encode(data + 2U);
|
fich.encode(data + 2U);
|
||||||
|
|
||||||
data[0U] = TAG_DATA;
|
data[0U] = TAG_DATA;
|
||||||
@@ -862,8 +806,6 @@ bool CYSFControl::processFRData(bool valid, unsigned char *data)
|
|||||||
writeNetwork(data, m_rfFrames % 128U);
|
writeNetwork(data, m_rfFrames % 128U);
|
||||||
|
|
||||||
if (m_duplex) {
|
if (m_duplex) {
|
||||||
// Add the DG-ID information.
|
|
||||||
fich.setDGId(m_dgIdEnabled ? m_dgIdValue : 0U);
|
|
||||||
fich.setMR(m_remoteGateway ? YSF_MR_NOT_BUSY : YSF_MR_BUSY);
|
fich.setMR(m_remoteGateway ? YSF_MR_NOT_BUSY : YSF_MR_BUSY);
|
||||||
fich.setDev(m_lowDeviation);
|
fich.setDev(m_lowDeviation);
|
||||||
fich.encode(data + 2U);
|
fich.encode(data + 2U);
|
||||||
@@ -1004,9 +946,6 @@ void CYSFControl::writeNetwork()
|
|||||||
::memcpy(m_netDest, "ALL ", YSF_CALLSIGN_LENGTH);
|
::memcpy(m_netDest, "ALL ", YSF_CALLSIGN_LENGTH);
|
||||||
}
|
}
|
||||||
|
|
||||||
// Add the DG-ID information.
|
|
||||||
fich.setDGId(m_dgIdEnabled ? m_dgIdValue : 0U);
|
|
||||||
|
|
||||||
if (m_remoteGateway) {
|
if (m_remoteGateway) {
|
||||||
fich.setVoIP(false);
|
fich.setVoIP(false);
|
||||||
fich.setMR(YSF_MR_DIRECT);
|
fich.setMR(YSF_MR_DIRECT);
|
||||||
|
|||||||
@@ -38,8 +38,6 @@ public:
|
|||||||
CYSFControl(const std::string& callsign, bool selfOnly, CYSFNetwork* network, CDisplay* display, unsigned int timeout, bool duplex, bool lowDeviation, bool remoteGateway, CRSSIInterpolator* rssiMapper);
|
CYSFControl(const std::string& callsign, bool selfOnly, CYSFNetwork* network, CDisplay* display, unsigned int timeout, bool duplex, bool lowDeviation, bool remoteGateway, CRSSIInterpolator* rssiMapper);
|
||||||
~CYSFControl();
|
~CYSFControl();
|
||||||
|
|
||||||
void setDGId(bool on, unsigned char value);
|
|
||||||
|
|
||||||
bool writeModem(unsigned char* data, unsigned int len);
|
bool writeModem(unsigned char* data, unsigned int len);
|
||||||
|
|
||||||
unsigned int readModem(unsigned char* data);
|
unsigned int readModem(unsigned char* data);
|
||||||
@@ -59,8 +57,6 @@ private:
|
|||||||
bool m_duplex;
|
bool m_duplex;
|
||||||
bool m_lowDeviation;
|
bool m_lowDeviation;
|
||||||
bool m_remoteGateway;
|
bool m_remoteGateway;
|
||||||
bool m_dgIdEnabled;
|
|
||||||
unsigned char m_dgIdValue;
|
|
||||||
CRingBuffer<unsigned char> m_queue;
|
CRingBuffer<unsigned char> m_queue;
|
||||||
RPT_RF_STATE m_rfState;
|
RPT_RF_STATE m_rfState;
|
||||||
RPT_NET_STATE m_netState;
|
RPT_NET_STATE m_netState;
|
||||||
|
|||||||
Reference in New Issue
Block a user