This is the serial port object. This object encompasses all serial ports available on a particular platform. Each serial port can function as a standard UART, Wiegand device, or clock/data device. Direct support for Wiegand and clock/data interfaces is a unique feature of the serial port object.
Each serial port has a set of standard programmable parameters that you would expect to find, such as baudrate and parity. In addition, it has some unique features like the ability to automatically filter out so-called 'escape sequences' or select UART, Wiegand, or clock/data operating mode.
Follows is the list of features offered by the serial port object:
- Ability to work in UART, Wiegand, or clock/data mode
- Fully asynchronous operation with separate "data arrival" and "data sent" events.
- Automatic data overrun detection on the RX buffer.
- Adjustable receive (RX) and transmit (TX) buffer sizes for optimal RAM utilization.
- Data "grouping" in the RX buffer based on "intercharacter" delay (gap between two consecutive arriving characters) and amount of data in the buffer.
- Optional automatic port disabling when a data group has been received.
- Buffer shorting feature for fast data exchange between the ser object and other objects (such as the sock object) that support standard Tibbo BASIC/C data buffers.
For the UART mode:
- Ability to set any baudrate (that is physically possible on a particular platform) by specifying "divider value" instead of a "baudrate from a list" as is usually done on other products
- Standard parity selection: parity off, even, odd, mark, or space.
- Choice of word length- 7 or 8 data bits/word.
- Full duplex or half duplex operation.
- Optional automatic CTS/RTS flow control in the full-duplex mode.
- Automatic direction control via RTS line in the half-duplex mode with direction control polarity selection.
- Automatic detection of "escape sequences", active even when the buffer shorting is enabled (see below).