UART

API Documentation: [cpp] [python] [.NET] [CCA] [REST]

The UART entity is a class which allows a user to configure and control an arbitrary stream of serial data. These streams can represent a number of different transports, including a RS232 external interface, a virtual COM port, and onboard UART interfaces from system components. This entity allows each transport to be configured as either an endpoint, or as a passthrough between transports, similar to a switchboard of a telephone operator.


UART Control

By default, USBExt3c extends RS-232 connections on the expansion conenctor. However, USBExt3c also has the ability to be controlled via RS-232. The USBExt3c also supports VCOM (Virtual COM port) channels for USB-based serial communication, with three VCOM channels available. For additional information about the serial protocol, reference USBExt3c Serial Communication Feature

UART Entity Indices

The USBExt3c provides the following UART entity indices:

UART Entity Indices

Index

Description

0

Hardware RS232 (External Expansion Connector)

3

Internal Extender Channel (TA)

4

VCOM_0 (Virtual COM port channel)

5

VCOM_1 (Virtual COM port channel)

6

VCOM_2 (Virtual COM port channel)

Note

Indices 1-2 are reserved for internal use. User applications typically use indices 0, 3, 4, 5, and 6.

UART Protocols

USBExt3c has four protocol values enumerated.

Value

Description

0

Disabled/Undefined

1

Extron Compatible Protocol

2

Brainstem Transport

6

Loopback

UART APIs

UARTs are controlled through the following APIs:

stem.uart[x].setEnable()[cpp][python][NET][LabVIEW]
stem.uart[x].getEnable()[cpp][python][NET][LabVIEW]
stem.uart[x].setBaudRate()[cpp][python][NET][LabVIEW]
stem.uart[x].getBaudRate()[cpp][python][NET][LabVIEW]
stem.uart[x].setProtocol()[cpp][python][NET][LabVIEW]
stem.uart[x].getProtocol()[cpp][python][NET][LabVIEW]
stem.uart[x].setLinkChannel()[cpp][python][NET][LabVIEW]
stem.uart[x].getLinkChannel()[cpp][python][NET][LabVIEW]
stem.uart[x].setStopBits()[cpp][python][NET][LabVIEW]
stem.uart[x].getStopBits()[cpp][python][NET][LabVIEW]
stem.uart[x].setParity()[cpp][python][NET][LabVIEW]
stem.uart[x].getParity()[cpp][python][NET][LabVIEW]
stem.uart[x].setDataBits()[cpp][python][NET][LabVIEW]
stem.uart[x].getDataBits()[cpp][python][NET][LabVIEW]
stem.uart[x].setFlowControl()[cpp][python][NET][LabVIEW]
stem.uart[x].getFlowControl()[cpp][python][NET][LabVIEW]
stem.uart[x].getCapableProtocols()[cpp][python][NET][LabVIEW]
stem.uart[x].getAvailableProtocols()[cpp][python][NET][LabVIEW]