'even' (Even Parity) The parity bit is set so the total number of 1 bits (data + parity) is even. Example: Data 10110010 has 5 ones (odd). Add parity = 1 → total 6 (even). More robust than 'none' because it catches single-bit errors.
Very common in industrial Modbus RTU (often 8E1).
'mark' (Mark Parity) The parity bit is always 1, regardless of data. Does not provide error detection, but enforces a “high” line level at parity time. Rare; sometimes used for compatibility with legacy teletypes or old serial gear.
'none' (No Parity)
No parity bit is added. Each frame is just start + data bits + stop bits. Fastest, but no error detection at the byte level (only CRC at Modbus level). Often called 8N1 → 8 data bits, None parity, 1 stop bit. Common with modern Modbus devices that rely solely on CRC.
'odd' (Odd Parity) The parity bit is set so the total number of 1 bits is odd. Example: Data 10110010 has 5 ones (odd). Add parity = 0 → still 5 (odd). Same error-detection strength as 'even'. Less common, but some older devices insist on 8O1.
'space' (Space Parity)
The parity bit is always 0, regardless of data. Same as 'mark' in that it doesn’t check errors, just forces a “low” line level. Also rare; only seen in very old/quirky devices.
@codex-xmi-id f9e953ec-0283-5989-8209-70de10f12955