Virtual bridges created by Virtual Serial Port Tools (both local and remote) support custom “wiring” inside a virtual “cable”. You may specify which pins are sending data to which other pins, both on local or remote socket. Below is a default configuration used:
Local bridge pin-out is configured by settings values of the following properties: IBridgePortDevice.DTR, IBridgePortDevice.DSR, IBridgePortDevice.DCD, IBridgePortDevice.RTS, IBridgePortDevice.CTS and IBridgePortDevice.RI.
If you want to configure Remote Bridge pin-outs from API, first create a bridge and then use the legacy IVirtualSerialDevice.localSocket and IVirtualSerialDevice.remoteSocket properties to get pins for both local and remote socket. Then reference individual pins on either of this object and use the IPin.sendTo method to add new virtual “wires”.
Virtual Serial Port Tools automatically validates the applied configuration and if it is invalid, you get an error from API.
Below is a table that shows you valid configuration for each pin:
|Source Pin||Allowed Destinations|
|DTR (Data Terminal Ready)||DSR, DCD, CTS, RI|
|DSR (Data Set Ready)||DTR, RTS|
|DCD (Data Carrier Detect)||DTR, RTS|
|RTS (Request To Send)||DSR, DCD, CTS, RI|
|CTS (Clear To Send)||DTR, RTS|
|RxD (Received Data)||None|
|TxD (Transmitted Data)||RxD (only remote)|
In all cases (except TxD) if connection is allowed, it can be established both to the local or remote socket, effectively allowing the user to create loops.