mirror of
https://github.com/g4klx/MMDVMHost
synced 2025-12-23 00:35:53 +08:00
Fix DSQ processing.
This commit is contained in:
@@ -54,6 +54,8 @@ m_netSource(NULL),
|
|||||||
m_netDest(NULL),
|
m_netDest(NULL),
|
||||||
m_lastFrame(NULL),
|
m_lastFrame(NULL),
|
||||||
m_lastFrameValid(false),
|
m_lastFrameValid(false),
|
||||||
|
m_lastSQL(false),
|
||||||
|
m_lastSQ(0U),
|
||||||
m_lastMode(YSF_DT_VOICE_FR_MODE),
|
m_lastMode(YSF_DT_VOICE_FR_MODE),
|
||||||
m_lastMR(YSF_MR_NOT_BUSY),
|
m_lastMR(YSF_MR_NOT_BUSY),
|
||||||
m_netN(0U),
|
m_netN(0U),
|
||||||
@@ -146,16 +148,17 @@ bool CYSFControl::writeModem(unsigned char *data, unsigned int len)
|
|||||||
CYSFFICH fich;
|
CYSFFICH fich;
|
||||||
bool valid = fich.decode(data + 2U);
|
bool valid = fich.decode(data + 2U);
|
||||||
|
|
||||||
if (valid && m_rfState == RS_RF_LISTENING) {
|
if (valid) {
|
||||||
|
m_lastSQL = fich.getSQL();
|
||||||
|
m_lastSQ = fich.getSQ();
|
||||||
|
|
||||||
|
if (m_rfState == RS_RF_LISTENING) {
|
||||||
unsigned char fi = fich.getFI();
|
unsigned char fi = fich.getFI();
|
||||||
if (fi == YSF_FI_TERMINATOR)
|
if (fi == YSF_FI_TERMINATOR)
|
||||||
return false;
|
return false;
|
||||||
|
|
||||||
if (m_sqlEnabled) {
|
if (m_sqlEnabled) {
|
||||||
bool sql = fich.getSQL();
|
if (!m_lastSQL || m_lastSQ != m_sqlValue)
|
||||||
unsigned char value = fich.getSQ();
|
|
||||||
|
|
||||||
if (!sql || value != m_sqlValue)
|
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -174,10 +177,16 @@ bool CYSFControl::writeModem(unsigned char *data, unsigned int len)
|
|||||||
openFile();
|
openFile();
|
||||||
#endif
|
#endif
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
if (m_rfState != RS_RF_AUDIO)
|
if (m_rfState != RS_RF_AUDIO)
|
||||||
return false;
|
return false;
|
||||||
|
|
||||||
|
if (m_sqlEnabled) {
|
||||||
|
if (!m_lastSQL || m_lastSQ != m_sqlValue)
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
if (valid)
|
if (valid)
|
||||||
m_lastMR = fich.getMR();
|
m_lastMR = fich.getMR();
|
||||||
|
|
||||||
|
|||||||
@@ -75,6 +75,8 @@ private:
|
|||||||
unsigned char* m_netDest;
|
unsigned char* m_netDest;
|
||||||
unsigned char* m_lastFrame;
|
unsigned char* m_lastFrame;
|
||||||
bool m_lastFrameValid;
|
bool m_lastFrameValid;
|
||||||
|
bool m_lastSQL;
|
||||||
|
unsigned char m_lastSQ;
|
||||||
unsigned char m_lastMode;
|
unsigned char m_lastMode;
|
||||||
unsigned char m_lastMR;
|
unsigned char m_lastMR;
|
||||||
unsigned char m_netN;
|
unsigned char m_netN;
|
||||||
|
|||||||
Reference in New Issue
Block a user