Fix self-only in YSF.
This commit is contained in:
parent
d83c17dccc
commit
d3996c4758
1 changed files with 21 additions and 4 deletions
|
@ -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
|
||||
* 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;
|
||||
}
|
||||
|
||||
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) {
|
||||
m_rfPayload.reset();
|
||||
m_rfState = RS_RF_LISTENING;
|
||||
|
@ -288,7 +296,10 @@ bool CYSFControl::processVWData(bool valid, unsigned char *data)
|
|||
}
|
||||
} else if (valid && fi == YSF_FI_TERMINATOR) {
|
||||
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) {
|
||||
m_rfPayload.processHeaderData(data + 2U);
|
||||
|
||||
|
@ -471,7 +482,10 @@ bool CYSFControl::processDNData(bool valid, unsigned char *data)
|
|||
}
|
||||
} else if (valid && fi == YSF_FI_TERMINATOR) {
|
||||
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) {
|
||||
m_rfPayload.processHeaderData(data + 2U);
|
||||
|
||||
|
@ -807,7 +821,10 @@ bool CYSFControl::processFRData(bool valid, unsigned char *data)
|
|||
}
|
||||
} else if (valid && fi == YSF_FI_TERMINATOR) {
|
||||
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) {
|
||||
m_rfPayload.processHeaderData(data + 2U);
|
||||
|
||||
|
|
Loading…
Reference in a new issue