Eterlogic virtual serial ports emulator

Serial Router device

Purpose: intelligently route data between a source COM port and multiple targets.

Serial Router is alternative to Virtual Splitter device which is providing more intelligent traffic routing and allows you to add Transformers to pre-process or post-process data sent to source or target ports.

It does not create any virtual ports and relies on either existing COM ports or virtual COM ports created by VSPE or other programs (such as Virtual Connector device or Virtual Pair device).

This device does not create new virtual serial ports.
This device is not accessible through API.

SmartRouter/Switch modes were added to address feedbacks/requests from HAM community.
These modes provide much better splitting experience for certain CAT protocols compared to Splitter.

Distributing data to connected clients

Depending on selected mode (Fan-out, Router or Switch), the relevant data received from source COM port will be sent to all connected clients. If the connected application is not reading data, it will eventually fill output buffer and Serial Router will stop reading from Source COM port. To avoid that, you should let Serial Router know about such applications by unchecking "Allowed to receive data" checkbox in corresponding target COM port settings:

serialrouter_allow_reading.png

Uncheck "Allowed to receive data" for applications that connect but do not read data!

Serial Router modes

Serial Router works in one of the following modes:

Serial Router and Pair with multiple lanes

If "Detect virtual ports with multiple lanes" is checked, Serial Router will automatically detect all devices (such as Pair) with multiple lanes in Target ports and open all dedicated lanes. This feature was added to simplify configuring 3rd party applications with Router.

Example:

Lanes are using shared processing thread.
This means that if Pair device has a large number of lanes 
and heavy traffic, delays may occur.

Configuring Serial Router

SerialRouter configuration example

serialrouter2.png

Serial router settings

SerialRouter configuration parameters

Resolving write conflicts when in Fan-Out mode

If multiple clients are sending partially formatted commands (not full command, but by small chunks), there is a chance that this will result in write conflict when request from client1 is incorrectly merged with request from client2. To address that (for Serial Router is in fan-out mode) you should add Transformers to split data into consistently formatted chunks so that every chunk is a complete request. You can use Wait for complete data transformer or another transformer. This will help to ensure that the data sent to source COM port is a complete packet and does not consist of small fragments mixed in random order from multiple clients.

Serial Router transformers flow

Serial Router can contain multiple transformers which are applied sequentially before and after data has been processed. This can be used to modify data flow in any direction or for any port and sanitize input data to avoid write conflicts by sending incomplete data packets.

Processing data from source port to target ports

Processing data from target ports to source port

See also:

2007-2025 Eterlogic Software