Hopefully fix the remote gateway issues.
This commit is contained in:
parent
e843115928
commit
d87b861628
1 changed files with 89 additions and 36 deletions
|
@ -263,7 +263,7 @@ bool CYSFControl::processVWData(bool valid, unsigned char *data)
|
||||||
|
|
||||||
CYSFFICH fich = m_lastFICH;
|
CYSFFICH fich = m_lastFICH;
|
||||||
|
|
||||||
// Remove any DSQ information
|
// Remove any DSQ/DG-ID information
|
||||||
fich.setSQL(false);
|
fich.setSQL(false);
|
||||||
fich.setSQ(0U);
|
fich.setSQ(0U);
|
||||||
fich.encode(data + 2U);
|
fich.encode(data + 2U);
|
||||||
|
@ -278,7 +278,11 @@ bool CYSFControl::processVWData(bool valid, unsigned char *data)
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
if (m_duplex) {
|
if (m_duplex) {
|
||||||
// Add the DSQ information.
|
// Add the DSQ/DG-ID information.
|
||||||
|
unsigned char cm = fich.getCM();
|
||||||
|
if (cm == YSF_CM_GROUP2)
|
||||||
|
fich.setSQL(false);
|
||||||
|
else
|
||||||
fich.setSQL(m_sqlEnabled);
|
fich.setSQL(m_sqlEnabled);
|
||||||
fich.setSQ(m_sqlValue);
|
fich.setSQ(m_sqlValue);
|
||||||
|
|
||||||
|
@ -307,7 +311,7 @@ bool CYSFControl::processVWData(bool valid, unsigned char *data)
|
||||||
|
|
||||||
CYSFFICH fich = m_lastFICH;
|
CYSFFICH fich = m_lastFICH;
|
||||||
|
|
||||||
// Remove any DSQ information
|
// Remove any DSQ/DG-ID information
|
||||||
fich.setSQL(false);
|
fich.setSQL(false);
|
||||||
fich.setSQ(0U);
|
fich.setSQ(0U);
|
||||||
fich.encode(data + 2U);
|
fich.encode(data + 2U);
|
||||||
|
@ -322,7 +326,11 @@ bool CYSFControl::processVWData(bool valid, unsigned char *data)
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
if (m_duplex) {
|
if (m_duplex) {
|
||||||
// Add the DSQ information.
|
// Add the DSQ/DG-ID information.
|
||||||
|
unsigned char cm = fich.getCM();
|
||||||
|
if (cm == YSF_CM_GROUP2)
|
||||||
|
fich.setSQL(false);
|
||||||
|
else
|
||||||
fich.setSQL(m_sqlEnabled);
|
fich.setSQL(m_sqlEnabled);
|
||||||
fich.setSQ(m_sqlValue);
|
fich.setSQ(m_sqlValue);
|
||||||
|
|
||||||
|
@ -366,7 +374,7 @@ 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 DSQ information
|
// Remove any DSQ/DG-ID information
|
||||||
fich.setSQL(false);
|
fich.setSQL(false);
|
||||||
fich.setSQ(0U);
|
fich.setSQ(0U);
|
||||||
fich.encode(data + 2U);
|
fich.encode(data + 2U);
|
||||||
|
@ -377,7 +385,11 @@ 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 DSQ information.
|
// Add the DSQ/DG-ID information.
|
||||||
|
unsigned char cm = fich.getCM();
|
||||||
|
if (cm == YSF_CM_GROUP2)
|
||||||
|
fich.setSQL(false);
|
||||||
|
else
|
||||||
fich.setSQL(m_sqlEnabled);
|
fich.setSQL(m_sqlEnabled);
|
||||||
fich.setSQ(m_sqlValue);
|
fich.setSQ(m_sqlValue);
|
||||||
|
|
||||||
|
@ -449,7 +461,7 @@ bool CYSFControl::processDNData(bool valid, unsigned char *data)
|
||||||
|
|
||||||
CYSFFICH fich = m_lastFICH;
|
CYSFFICH fich = m_lastFICH;
|
||||||
|
|
||||||
// Remove any DSQ information
|
// Remove any DSQ/DG-ID information
|
||||||
fich.setSQL(false);
|
fich.setSQL(false);
|
||||||
fich.setSQ(0U);
|
fich.setSQ(0U);
|
||||||
fich.encode(data + 2U);
|
fich.encode(data + 2U);
|
||||||
|
@ -464,7 +476,11 @@ bool CYSFControl::processDNData(bool valid, unsigned char *data)
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
if (m_duplex) {
|
if (m_duplex) {
|
||||||
// Add the DSQ information.
|
// Add the DSQ/DG-ID information.
|
||||||
|
unsigned char cm = fich.getCM();
|
||||||
|
if (cm == YSF_CM_GROUP2)
|
||||||
|
fich.setSQL(false);
|
||||||
|
else
|
||||||
fich.setSQL(m_sqlEnabled);
|
fich.setSQL(m_sqlEnabled);
|
||||||
fich.setSQ(m_sqlValue);
|
fich.setSQ(m_sqlValue);
|
||||||
|
|
||||||
|
@ -493,7 +509,7 @@ bool CYSFControl::processDNData(bool valid, unsigned char *data)
|
||||||
|
|
||||||
CYSFFICH fich = m_lastFICH;
|
CYSFFICH fich = m_lastFICH;
|
||||||
|
|
||||||
// Remove any DSQ information
|
// Remove any DSQ/DG-ID information
|
||||||
fich.setSQL(false);
|
fich.setSQL(false);
|
||||||
fich.setSQ(0U);
|
fich.setSQ(0U);
|
||||||
fich.encode(data + 2U);
|
fich.encode(data + 2U);
|
||||||
|
@ -508,7 +524,11 @@ bool CYSFControl::processDNData(bool valid, unsigned char *data)
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
if (m_duplex) {
|
if (m_duplex) {
|
||||||
// Add the DSQ information.
|
// Add the DSQ/DG-ID information.
|
||||||
|
unsigned char cm = fich.getCM();
|
||||||
|
if (cm == YSF_CM_GROUP2)
|
||||||
|
fich.setSQL(false);
|
||||||
|
else
|
||||||
fich.setSQL(m_sqlEnabled);
|
fich.setSQL(m_sqlEnabled);
|
||||||
fich.setSQ(m_sqlValue);
|
fich.setSQ(m_sqlValue);
|
||||||
|
|
||||||
|
@ -572,7 +592,7 @@ bool CYSFControl::processDNData(bool valid, unsigned char *data)
|
||||||
|
|
||||||
CYSFFICH fich = m_lastFICH;
|
CYSFFICH fich = m_lastFICH;
|
||||||
|
|
||||||
// Remove any DSQ information
|
// Remove any DSQ/DG-ID information
|
||||||
fich.setSQL(false);
|
fich.setSQL(false);
|
||||||
fich.setSQ(0U);
|
fich.setSQ(0U);
|
||||||
fich.encode(data + 2U);
|
fich.encode(data + 2U);
|
||||||
|
@ -583,7 +603,11 @@ 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 DSQ information.
|
// Add the DSQ/DG-ID information.
|
||||||
|
unsigned char cm = fich.getCM();
|
||||||
|
if (cm == YSF_CM_GROUP2)
|
||||||
|
fich.setSQL(false);
|
||||||
|
else
|
||||||
fich.setSQL(m_sqlEnabled);
|
fich.setSQL(m_sqlEnabled);
|
||||||
fich.setSQ(m_sqlValue);
|
fich.setSQ(m_sqlValue);
|
||||||
|
|
||||||
|
@ -687,7 +711,11 @@ 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 DSQ information.
|
// Add the DSQ/DG-ID information.
|
||||||
|
unsigned char cm = fich.getCM();
|
||||||
|
if (cm == YSF_CM_GROUP2)
|
||||||
|
fich.setSQL(false);
|
||||||
|
else
|
||||||
fich.setSQL(m_sqlEnabled);
|
fich.setSQL(m_sqlEnabled);
|
||||||
fich.setSQ(m_sqlValue);
|
fich.setSQ(m_sqlValue);
|
||||||
|
|
||||||
|
@ -708,7 +736,7 @@ bool CYSFControl::processDNData(bool valid, unsigned char *data)
|
||||||
|
|
||||||
fich = m_lastFICH;
|
fich = m_lastFICH;
|
||||||
|
|
||||||
// Remove any DSQ information
|
// Remove any DSQ/DG-ID information
|
||||||
fich.setSQL(false);
|
fich.setSQL(false);
|
||||||
fich.setSQ(0U);
|
fich.setSQ(0U);
|
||||||
fich.encode(data + 2U);
|
fich.encode(data + 2U);
|
||||||
|
@ -719,7 +747,11 @@ 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 DSQ information.
|
// Add the DSQ/DG-ID information.
|
||||||
|
unsigned char cm = fich.getCM();
|
||||||
|
if (cm == YSF_CM_GROUP2)
|
||||||
|
fich.setSQL(false);
|
||||||
|
else
|
||||||
fich.setSQL(m_sqlEnabled);
|
fich.setSQL(m_sqlEnabled);
|
||||||
fich.setSQ(m_sqlValue);
|
fich.setSQ(m_sqlValue);
|
||||||
|
|
||||||
|
@ -788,7 +820,7 @@ bool CYSFControl::processFRData(bool valid, unsigned char *data)
|
||||||
|
|
||||||
CYSFFICH fich = m_lastFICH;
|
CYSFFICH fich = m_lastFICH;
|
||||||
|
|
||||||
// Remove any DSQ information
|
// Remove any DSQ/DG-ID information
|
||||||
fich.setSQL(false);
|
fich.setSQL(false);
|
||||||
fich.setSQ(0U);
|
fich.setSQ(0U);
|
||||||
fich.encode(data + 2U);
|
fich.encode(data + 2U);
|
||||||
|
@ -803,7 +835,11 @@ bool CYSFControl::processFRData(bool valid, unsigned char *data)
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
if (m_duplex) {
|
if (m_duplex) {
|
||||||
// Add the DSQ information.
|
// Add the DSQ/DG-ID information.
|
||||||
|
unsigned char cm = fich.getCM();
|
||||||
|
if (cm == YSF_CM_GROUP2)
|
||||||
|
fich.setSQL(false);
|
||||||
|
else
|
||||||
fich.setSQL(m_sqlEnabled);
|
fich.setSQL(m_sqlEnabled);
|
||||||
fich.setSQ(m_sqlValue);
|
fich.setSQ(m_sqlValue);
|
||||||
|
|
||||||
|
@ -832,7 +868,7 @@ bool CYSFControl::processFRData(bool valid, unsigned char *data)
|
||||||
|
|
||||||
CYSFFICH fich = m_lastFICH;
|
CYSFFICH fich = m_lastFICH;
|
||||||
|
|
||||||
// Remove any DSQ information
|
// Remove any DSQ/DG-ID information
|
||||||
fich.setSQL(false);
|
fich.setSQL(false);
|
||||||
fich.setSQ(0U);
|
fich.setSQ(0U);
|
||||||
fich.encode(data + 2U);
|
fich.encode(data + 2U);
|
||||||
|
@ -847,7 +883,11 @@ bool CYSFControl::processFRData(bool valid, unsigned char *data)
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
if (m_duplex) {
|
if (m_duplex) {
|
||||||
// Add the DSQ information.
|
// Add the DSQ/DG-ID information.
|
||||||
|
unsigned char cm = fich.getCM();
|
||||||
|
if (cm == YSF_CM_GROUP2)
|
||||||
|
fich.setSQL(false);
|
||||||
|
else
|
||||||
fich.setSQL(m_sqlEnabled);
|
fich.setSQL(m_sqlEnabled);
|
||||||
fich.setSQ(m_sqlValue);
|
fich.setSQ(m_sqlValue);
|
||||||
|
|
||||||
|
@ -887,7 +927,7 @@ bool CYSFControl::processFRData(bool valid, unsigned char *data)
|
||||||
|
|
||||||
CYSFFICH fich = m_lastFICH;
|
CYSFFICH fich = m_lastFICH;
|
||||||
|
|
||||||
// Remove any DSQ information
|
// Remove any DSQ/DG-ID information
|
||||||
fich.setSQL(false);
|
fich.setSQL(false);
|
||||||
fich.setSQ(0U);
|
fich.setSQ(0U);
|
||||||
fich.encode(data + 2U);
|
fich.encode(data + 2U);
|
||||||
|
@ -898,7 +938,11 @@ 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 DSQ information.
|
// Add the DSQ/DG-ID information.
|
||||||
|
unsigned char cm = fich.getCM();
|
||||||
|
if (cm == YSF_CM_GROUP2)
|
||||||
|
fich.setSQL(false);
|
||||||
|
else
|
||||||
fich.setSQL(m_sqlEnabled);
|
fich.setSQL(m_sqlEnabled);
|
||||||
fich.setSQ(m_sqlValue);
|
fich.setSQ(m_sqlValue);
|
||||||
|
|
||||||
|
@ -1039,12 +1083,21 @@ void CYSFControl::writeNetwork()
|
||||||
::memcpy(m_netDest, "ALL ", YSF_CALLSIGN_LENGTH);
|
::memcpy(m_netDest, "ALL ", YSF_CALLSIGN_LENGTH);
|
||||||
}
|
}
|
||||||
|
|
||||||
// Add any DSQ information
|
// Add any DSQ/DG-ID information
|
||||||
|
if (cm == YSF_CM_GROUP2)
|
||||||
|
fich.setSQL(false);
|
||||||
|
else
|
||||||
fich.setSQL(m_sqlEnabled);
|
fich.setSQL(m_sqlEnabled);
|
||||||
fich.setSQ(m_sqlValue);
|
fich.setSQ(m_sqlValue);
|
||||||
|
|
||||||
|
if (m_remoteGateway) {
|
||||||
|
fich.setVoIP(false);
|
||||||
|
fich.setMR(YSF_MR_NOT_BUSY);
|
||||||
|
} else {
|
||||||
fich.setVoIP(true);
|
fich.setVoIP(true);
|
||||||
fich.setMR(m_remoteGateway ? YSF_MR_NOT_BUSY : YSF_MR_BUSY);
|
fich.setMR(YSF_MR_BUSY);
|
||||||
|
}
|
||||||
|
|
||||||
fich.setDev(m_lowDeviation);
|
fich.setDev(m_lowDeviation);
|
||||||
fich.encode(data + 35U);
|
fich.encode(data + 35U);
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue