This is sometimes (incorrectly) referred to as RS-232 or generally as a 'SERIAL' port. It is characterized by a BAUD rate setting and a lack of a clock signal. Symbols (Bytes or Characters) of data are sent as a start bit (0), followed by a pre-configured number of data bits, an optional parity bit and a stop bit (1). Bits are blindly sampled at the BAUD rate. The symbol is 'framed' by a 0 start bit and a 1 stop bit. Note that this use of the term 'framing' refers to framing a single symbol and is different than our use as a protocol frame.
A protocol frame would consist of one or more of these symbols. There is no defined protocol framing at the pre-processor level. In essence, this pre-processor is acting like a UART and your plug-in acts like the software/firmware that gathers data from the UART and interprets it, possibly into higher levels of framed data.
Configuration Options provided by the pre-processor
This pre-processor uses event flags to indicate which events occurred. The data event occurs at the middle of the start bit time and also includes any parity or framing error flags. Additional parity and/or framing events occur later at their respective times. In the built-in post processor, we handle the data event first (ignoring any additional parity or framing errors) and then handle any error events as they occur, allowing us to show each as a separate field at their respective timestamps. Setting the flags during the data event allows your plug-in to decide whether to display the corrupt data or not.
Indicates that byte holds a complete data byte. The timestamp marks the middle of the start bit time. NOTE: any parity or framing errors associated with this byte are flagged as well. They can be ignored if desired because any such errors will be reported later as independent, timestamped events at their respective bit times.
Indicates the parity bit position matched the user defined '9-bit address mode' level and that byte holds the gathered address byte. The timestamp marks the middle of the start bit time. NOTE: any framing error associated with this byte is flagged as well. It can be ignored if desired because any such error will be reported later as an independent, timestamped event at the STOP bit time.
Indicates the middle of the STOP bit position was low. The timestamp is the middle of the stop bit time.
Indicates the parity calculation did not match the user's selection. The timestamp is the middle of the parity bit time.
Indicates the timestamp of the end of the character. Typically used to send an ENDFIELD type field back.
Indicates that the line was held low for greater than a character time