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; }