No intention to give only hints, I am trying to give you as much details as I can do. Sorry if something is not clear.
Yes you're right, ":" will always be the last character.
Led string will all be the same, 7 characters, correct.
Numerical values will have different length. I have values to display from 1 digit up to 8 digits. So, I could get "C=1:", 4 characters including ":" up to "D=12345678:" 11 characters including ":"
The software will not stream the entire state, every single variable is transmitted if the state changes.
I try to post what is in the manual : (http://prosim737.com/wp-content/uploads/2012/08/ProSim737_beta_manual-08-21-2012.pdf) page 27.
Using the Generic driver
ProSim737 contains a “Generic” driver that communicates in clear text over a COM port
or over a network through TCP port. It allows you to read and write states of switches and
indicators quickly and efficiently. The generic driver is available in the “Drivers” tab of the
configuration screen of ProSim737 as “Generic COM port/TCP driver”.
After enabling the driver, Switches, Indicators, Analog values and encoders can be
configured to work with driver. In the first drop down menu of the item, select either a COM
port or “Generic driver TCP”. Next, use the text field next to the dropdown box to enter a
label for this IO Element. The name must be unique.
Communication with the driver is either through the configured COM port or through the TCP
port. The driver listens on TCP port 8091 for incoming connections. The protocol is straight
ASCII and consists of reports separated by the newline character. Each report is in this
format:
[‘=’ ]
Where is the label that was configured in the configuration screen and is the
value of the item. If ‘=’ is omitted, the value is assumed to be ‘1’.
Specific instructions per IO element type:
Switches Configure each switch state. To change a switch, send the name of
the switch state that is currently active.
Indicators Indicators are reported with value ‘0’ for off, ‘1’ for on and ‘2’ for
bright.
Gates A ‘0’ is sent for off and a ‘1’ is sent for on.
Analog elements Send the value of the element to change it.
Numerical outputs The output is reported with its current value.
Encoders Send a ‘1’ for a clockwise rotation and a ‘-1’ for counter clockwise.
Send this value each time the encoder is rotated.
Hope it's clear