/** * Elrest eDesign Runtime Library Messages Model Instance MODBUS RTU Parity * * Parity adds an extra bit to each transmitted byte to help detect errors. * * That bit can be set according to different rules: * +---------+----------------+--------------------------+------------------------------+ * | Parity | Error Detection| Common Use in Modbus RTU | Notes | * +---------+----------------+--------------------------+------------------------------+ * | none | No | Very common (8N1) | Fast, only CRC protects | * | even | Yes | Very common (8E1) | Safest default for industry | * | odd | Yes | Sometimes (8O1) | Legacy devices | * | mark | No | Rare | Parity bit always 1 | * | space | No | Rare | Parity bit always 0 | * * * Error detection bit in each character. Modbus-RTU devices most often use even or none. * Typical: 'even' (8E1) or 'none' (8N1). Match the slave exactly. * * @copyright 2025 Elrest AutomationsSysteme GMBH */ export declare enum MODBUSRTUParity { /** * '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. */ none = "none", /** * '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). */ even = "even", /** * '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. */ mark = "mark", /** * '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. */ odd = "odd", /** * '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. */ space = "space" }