transmit() does not DLE-escape STX (0x02) data bytes, which can cause the CMRInet host to misinterpret output data as start-of-text and desynchronise.
Example
With a 1-byte output buffer containing {0x02}:
- Current:
FF FF 02 41 54 02 03 → host sees 02 in data → misinterpreted as STX
- Should be:
FF FF 02 41 54 10 02 03 → DLE-STX correctly interpreted as data value 0x02
Reference
CMRInet spec LCS-9.10.1 v1.1, §Data Link Escape (DLE) Processing
transmit()does not DLE-escape STX (0x02) data bytes, which can cause the CMRInet host to misinterpret output data as start-of-text and desynchronise.Example
With a 1-byte output buffer containing
{0x02}:FF FF 02 41 54 02 03→ host sees02in data → misinterpreted as STXFF FF 02 41 54 10 02 03→ DLE-STX correctly interpreted as data value 0x02Reference
CMRInet spec LCS-9.10.1 v1.1, §Data Link Escape (DLE) Processing