mirror of
https://github.com/g4klx/MMDVMHost
synced 2025-12-21 15:09:23 +08:00
Fix self-only in YSF.
This commit is contained in:
@@ -1,5 +1,5 @@
|
|||||||
/*
|
/*
|
||||||
* Copyright (C) 2015,2016,2017 Jonathan Naylor, G4KLX
|
* Copyright (C) 2015,2016,2017,2018 Jonathan Naylor, G4KLX
|
||||||
*
|
*
|
||||||
* This program is free software; you can redistribute it and/or modify
|
* This program is free software; you can redistribute it and/or modify
|
||||||
* it under the terms of the GNU General Public License as published by
|
* it under the terms of the GNU General Public License as published by
|
||||||
@@ -120,6 +120,14 @@ bool CYSFControl::writeModem(unsigned char *data, unsigned int len)
|
|||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (type == TAG_LOST && m_rfState == RS_RF_REJECTED) {
|
||||||
|
m_rfPayload.reset();
|
||||||
|
m_rfSource = NULL;
|
||||||
|
m_rfDest = NULL;
|
||||||
|
m_rfState = RS_RF_LISTENING;
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
if (type == TAG_LOST) {
|
if (type == TAG_LOST) {
|
||||||
m_rfPayload.reset();
|
m_rfPayload.reset();
|
||||||
m_rfState = RS_RF_LISTENING;
|
m_rfState = RS_RF_LISTENING;
|
||||||
@@ -288,7 +296,10 @@ bool CYSFControl::processVWData(bool valid, unsigned char *data)
|
|||||||
}
|
}
|
||||||
} else if (valid && fi == YSF_FI_TERMINATOR) {
|
} else if (valid && fi == YSF_FI_TERMINATOR) {
|
||||||
if (m_rfState == RS_RF_REJECTED) {
|
if (m_rfState == RS_RF_REJECTED) {
|
||||||
m_rfState = RS_RF_LISTENING;
|
m_rfPayload.reset();
|
||||||
|
m_rfSource = NULL;
|
||||||
|
m_rfDest = NULL;
|
||||||
|
m_rfState = RS_RF_LISTENING;
|
||||||
} else if (m_rfState == RS_RF_AUDIO) {
|
} else if (m_rfState == RS_RF_AUDIO) {
|
||||||
m_rfPayload.processHeaderData(data + 2U);
|
m_rfPayload.processHeaderData(data + 2U);
|
||||||
|
|
||||||
@@ -471,7 +482,10 @@ bool CYSFControl::processDNData(bool valid, unsigned char *data)
|
|||||||
}
|
}
|
||||||
} else if (valid && fi == YSF_FI_TERMINATOR) {
|
} else if (valid && fi == YSF_FI_TERMINATOR) {
|
||||||
if (m_rfState == RS_RF_REJECTED) {
|
if (m_rfState == RS_RF_REJECTED) {
|
||||||
m_rfState = RS_RF_LISTENING;
|
m_rfPayload.reset();
|
||||||
|
m_rfSource = NULL;
|
||||||
|
m_rfDest = NULL;
|
||||||
|
m_rfState = RS_RF_LISTENING;
|
||||||
} else if (m_rfState == RS_RF_AUDIO) {
|
} else if (m_rfState == RS_RF_AUDIO) {
|
||||||
m_rfPayload.processHeaderData(data + 2U);
|
m_rfPayload.processHeaderData(data + 2U);
|
||||||
|
|
||||||
@@ -807,7 +821,10 @@ bool CYSFControl::processFRData(bool valid, unsigned char *data)
|
|||||||
}
|
}
|
||||||
} else if (valid && fi == YSF_FI_TERMINATOR) {
|
} else if (valid && fi == YSF_FI_TERMINATOR) {
|
||||||
if (m_rfState == RS_RF_REJECTED) {
|
if (m_rfState == RS_RF_REJECTED) {
|
||||||
m_rfState = RS_RF_LISTENING;
|
m_rfPayload.reset();
|
||||||
|
m_rfSource = NULL;
|
||||||
|
m_rfDest = NULL;
|
||||||
|
m_rfState = RS_RF_LISTENING;
|
||||||
} else if (m_rfState == RS_RF_DATA) {
|
} else if (m_rfState == RS_RF_DATA) {
|
||||||
m_rfPayload.processHeaderData(data + 2U);
|
m_rfPayload.processHeaderData(data + 2U);
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user