From 83d68c7a011e4376fb4e6c8935a5684b1006eb08 Mon Sep 17 00:00:00 2001 From: Jonathan Naylor Date: Mon, 26 Feb 2018 21:59:18 +0000 Subject: [PATCH] Add FCS details to the log and display. --- YSFControl.cpp | 29 +++++++++++++++++++++++++++++ 1 file changed, 29 insertions(+) diff --git a/YSFControl.cpp b/YSFControl.cpp index f203c61..0ab0264 100644 --- a/YSFControl.cpp +++ b/YSFControl.cpp @@ -1067,6 +1067,17 @@ void CYSFControl::writeNetwork() // Set the downlink callsign switch (fi) { case YSF_FI_HEADER: + m_netPayload.processHeaderData(data + 35U); + if (::memcmp(m_netSource, "??????????", YSF_CALLSIGN_LENGTH) == 0) { + unsigned char* source = m_netPayload.getSource(); + if (source != NULL) { + ::memcpy(m_netSource, source, YSF_CALLSIGN_LENGTH); + m_display->writeFusion((char*)m_netSource, (char*)m_netDest, "N", (char*)(data + 4U)); + LogMessage("YSF, received network data from %10.10s to %10.10s at %10.10s", m_netSource, m_netDest, data + 4U); + } + } + break; + case YSF_FI_TERMINATOR: m_netPayload.processHeaderData(data + 35U); break; @@ -1078,6 +1089,15 @@ void CYSFControl::writeNetwork() unsigned int errors = m_netPayload.processVDMode1Audio(data + 35U); m_netErrs += errors; m_netBits += 235U; + + if (::memcmp(m_netSource, "??????????", YSF_CALLSIGN_LENGTH) == 0) { + unsigned char* source = m_netPayload.getSource(); + if (source != NULL) { + ::memcpy(m_netSource, source, YSF_CALLSIGN_LENGTH); + m_display->writeFusion((char*)m_netSource, (char*)m_netDest, "N", (char*)(data + 4U)); + LogMessage("YSF, received network data from %10.10s to %10.10s at %10.10s", m_netSource, m_netDest, data + 4U); + } + } } break; @@ -1086,6 +1106,15 @@ void CYSFControl::writeNetwork() unsigned int errors = m_netPayload.processVDMode2Audio(data + 35U); m_netErrs += errors; m_netBits += 135U; + + if (::memcmp(m_netSource, "??????????", YSF_CALLSIGN_LENGTH) == 0) { + unsigned char* source = m_netPayload.getSource(); + if (source != NULL) { + ::memcpy(m_netSource, source, YSF_CALLSIGN_LENGTH); + m_display->writeFusion((char*)m_netSource, (char*)m_netDest, "N", (char*)(data + 4U)); + LogMessage("YSF, received network data from %10.10s to %10.10s at %10.10s", m_netSource, m_netDest, data + 4U); + } + } } break;