From 56ef55823a79fa43e639e14cd8b288544d3eaa92 Mon Sep 17 00:00:00 2001 From: Jonathan Naylor Date: Mon, 2 Jul 2018 22:48:01 +0100 Subject: [PATCH] Clean up the receive side. --- Common/IcomController.cpp | 24 +++++++++++++++++++----- 1 file changed, 19 insertions(+), 5 deletions(-) diff --git a/Common/IcomController.cpp b/Common/IcomController.cpp index 956069b..79c5234 100644 --- a/Common/IcomController.cpp +++ b/Common/IcomController.cpp @@ -98,8 +98,7 @@ void* CIcomController::Entry() return NULL; case RTI_HEADER: { - CUtils::dump(wxT("RT_HEADER"), m_buffer, length); - + // CUtils::dump(wxT("RT_HEADER"), m_buffer, length); wxMutexLocker locker(m_mutex); unsigned char data[2U]; @@ -114,8 +113,7 @@ void* CIcomController::Entry() break; case RTI_DATA: { - CUtils::dump(wxT("RT_DATA"), m_buffer, length); - + // CUtils::dump(wxT("RT_DATA"), m_buffer, length); wxMutexLocker locker(m_mutex); unsigned char data[2U]; @@ -129,6 +127,19 @@ void* CIcomController::Entry() } break; + case RTI_EOT: { + // wxLogMessage(wxT("RT_EOT")); + wxMutexLocker locker(m_mutex); + + unsigned char data[2U]; + data[0U] = DSMTT_EOT; + data[1U] = 0U; + m_rxData.addData(data, 2U); + + m_rx = false; + } + break; + default: wxLogMessage(wxT("Unknown message, type: %02X"), m_buffer[3U]); CUtils::dump(wxT("Buffer dump"), m_buffer, length); @@ -689,7 +700,10 @@ RESP_TYPE_ICOM CIcomController::getResponse(unsigned char *buffer, unsigned int& case 45U: return RTI_HEADER; case 17U: - return RTI_DATA; + if ((buffer[4U] & 0x40U) == 0x40U) + return RTI_EOT; + else + return RTI_DATA; default: return RTI_UNKNOWN; }