From 882244795b9bec1f2c86d596d4ab4ecd4346c8b9 Mon Sep 17 00:00:00 2001 From: Bryan Biedenkapp Date: Wed, 10 Apr 2024 21:43:16 -0400 Subject: [PATCH] fix support for incoming long frames; --- SerialPort.cpp | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/SerialPort.cpp b/SerialPort.cpp index 2958f17..ec4ab79 100644 --- a/SerialPort.cpp +++ b/SerialPort.cpp @@ -82,12 +82,18 @@ void SerialPort::process() } else if (m_ptr == 1U) { // Handle the frame length - m_len = m_buffer[m_ptr] = c; + if (m_dblFrame) { + m_buffer[m_ptr] = c; + m_len = ((c & 0xFFU) << 8); + } else { + m_len = m_buffer[m_ptr] = c; + } m_ptr = 2U; } else if (m_ptr == 2U && m_dblFrame) { // Handle the frame length - m_len = m_buffer[m_ptr] = (c + 255U); + m_buffer[m_ptr] = c; + m_len = (m_len + (c & 0xFFU)); m_ptr = 3U; } else {