From 003e1275426616b196d65eb47c539793bc316999 Mon Sep 17 00:00:00 2001 From: Bruno Rocci Date: Tue, 12 May 2026 12:16:01 +0200 Subject: [PATCH] Fix missing STX (0x02) DLE-escape in transmit() --- CMRI.cpp | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/CMRI.cpp b/CMRI.cpp index e8c321d..2cc9701 100644 --- a/CMRI.cpp +++ b/CMRI.cpp @@ -147,10 +147,9 @@ void CMRI::transmit() _serial.write(GET); for (int i=0; i<_tx_length; i++) { - if (_tx_buffer[i] == ETX) - _serial.write(ESC); // escape because this looks like an STX bit (very basic protocol) - if (_tx_buffer[i] == ESC) - _serial.write(ESC); // escape because this looks like an escape bit (very basic protocol) + // DLE-escape STX, ETX and DLE characters + if (_tx_buffer[i] == STX || _tx_buffer[i] == ETX || _tx_buffer[i] == ESC) + _serial.write(ESC); _serial.write(_tx_buffer[i]); } _serial.write(ETX);