TCP/UDP/Serial
This source receives lines from a TCP, UDP or serial connection and cuts every line it receives into named fields. It is made for timing devices and display boards, which send a line per event in a fixed column layout.
Settings
Port
Connection
The connection itself, see below.
Mappings
List
The fields every received line is cut into, see below.
Name and Enabled are described on the Sources page.
Port
Layer decides what kind of connection is opened, and the settings belonging to that layer are filled in below it:
TcpClient
Remote host and remote port.
TcpServer
Local port that is listened on.
UdpReceiver
Listening port.
UdpSender
Remote host and port.
Serial
Port name and baud rate.
Serialization has to stay on Lines: the source only reacts to complete lines, and LineEnd decides where a line ends, a carriage return by default.
Mappings
Every mapping cuts one field out of the received line:
Name
string
The name the field is bound with.
Offset
int
Position of the first character of the field, counted from 0.
Length
int
Number of characters the field is long.
Trim
bool
Removes the spaces before and after the field.
Properties
Line
string
The complete line as it was received.
Mappings
object
The fields of that line, addressed by the name of the mapping.
This source does not fill Value; the fields are read from Mappings.
Example
A timing device sends lines like this one:
Three mappings cut it into bib number, name and time:
Bib
0
4
yes
Runner
5
18
yes
Time
23
8
yes
With the source named Timing, the fields are bound like this:
The complete line is always available as {Binding Sources.Timing.Line}, which helps while the offsets are still being set up.