COnvert to handling new style YSF data from the modem.
This commit is contained in:
parent
8eb564ba37
commit
8f836716b8
3 changed files with 10 additions and 15 deletions
|
@ -331,9 +331,6 @@ void CModem::clock(unsigned int ms)
|
|||
unsigned char data = m_length - 2U;
|
||||
m_rxYSFData.addData(&data, 1U);
|
||||
|
||||
if ((m_buffer[3U] & (YSF_CKSUM_OK | YSF_FI_MASK)) == (YSF_CKSUM_OK | YSF_DT_TERMINATOR_CHANNEL))
|
||||
data = TAG_EOT;
|
||||
else
|
||||
data = TAG_DATA;
|
||||
m_rxYSFData.addData(&data, 1U);
|
||||
|
||||
|
|
|
@ -79,9 +79,13 @@ bool CYSFControl::writeModem(unsigned char *data)
|
|||
if (type == TAG_LOST)
|
||||
return false;
|
||||
|
||||
bool valid = (data[1U] & YSF_CKSUM_OK) == YSF_CKSUM_OK;
|
||||
bool valid = m_fich.decode(data + 2U);
|
||||
|
||||
if (valid && m_state == RS_RF_LISTENING) {
|
||||
unsigned char fi = m_fich.getFI();
|
||||
if (fi == YSF_FI_TERMINATOR)
|
||||
return false;
|
||||
|
||||
if (type == TAG_DATA && valid && m_state == RS_RF_LISTENING) {
|
||||
m_frames = 0U;
|
||||
m_timeoutTimer.start();
|
||||
m_payload.reset();
|
||||
|
@ -94,12 +98,10 @@ bool CYSFControl::writeModem(unsigned char *data)
|
|||
if (m_state != RS_RF_AUDIO)
|
||||
return false;
|
||||
|
||||
if (type == TAG_EOT) {
|
||||
unsigned char fi = m_fich.getFI();
|
||||
if (valid && fi == YSF_FI_TERMINATOR) {
|
||||
CSync::addYSFSync(data + 2U);
|
||||
|
||||
m_fich.decode(data + 2U);
|
||||
|
||||
unsigned char fi = m_fich.getFI();
|
||||
unsigned char fn = m_fich.getFN();
|
||||
unsigned char dt = m_fich.getDT();
|
||||
|
||||
|
@ -140,10 +142,6 @@ bool CYSFControl::writeModem(unsigned char *data)
|
|||
CSync::addYSFSync(data + 2U);
|
||||
|
||||
if (valid) {
|
||||
bool ret = m_fich.decode(data + 2U);
|
||||
assert(ret);
|
||||
|
||||
unsigned char fi = m_fich.getFI();
|
||||
unsigned char cm = m_fich.getCM();
|
||||
unsigned char fn = m_fich.getFN();
|
||||
unsigned char dt = m_fich.getDT();
|
||||
|
|
|
@ -32,7 +32,7 @@ const unsigned char YSF_DT_MASK = 0x30U;
|
|||
const unsigned char YSF_DT_HEADER_CHANNEL = 0x00U;
|
||||
const unsigned char YSF_DT_TERMINATOR_CHANNEL = 0x80U;
|
||||
|
||||
const unsigned char YSF_CKSUM_OK = 0x01U;
|
||||
const unsigned char YSF_SYNC_OK = 0x01U;
|
||||
|
||||
const unsigned char YSF_FI_HEADER = 0x00U;
|
||||
const unsigned char YSF_FI_COMMUNICATIONS = 0x40U;
|
||||
|
|
Loading…
Reference in a new issue