Channel information

Data delivered to the client is always in a raw binary format. To get information about the sample data type, scaling and other important parameters of every channel, the client should send the »LISTUSEDCHS« command. The response contains the following information for each channel, separated by a tab character.

Data Description Data type
Ch Fixed string
Channel type/Index Channel type or index Number
Number Consequent channel number Integer number
Name Channel name Text
Description Channel description Text
Unit Measure unit Text
Control channel Is this a control channel Boolean (1 or 0)
Samplerate divider Divider for sync channel, »Async« for async channels, »SingleValue« for single value channels Text Integer/Text
Expected async rate Expected rate for async channels in Hz Float number
Measurement type Defines channel meaning Integer number
Sample data type 0 – 8 bit unsigned integer
1 – 8 bit signed integer
2 – 16 bit unsigned integer
3 - 16 bit unsigned integer
4 - 32 bit signed integer
5 – Single floating point
6 – 64 bit signed integer
7 – Double floating point
8 – 32 bit unsigned integer
9 – Complex single floating point
10 – Complex double floating point
11 – Text
12 – Binary
13 – CAN message
Integer number
Buffer size Buffer size for data Integer
Custom scale Custom scale after amplifier Float number
Custom offset Custom offset after amplifier Float number
Scale raw data Scale for raw data Float number
Offset raw data Offset for raw data Float number
Description Channel slot Text
Settings Channel settings Text
Range min Range max Float number
Range max Range max Float number
Overload Can overload OvlYes/OvlNo
AutoZero Is auto zero enabled Boolean (1 or 0)
DiscreteListCount Number of items in discrete list Integer number
DiscreteList Item (0) Discrete list entry Text
Discrete list entry Text
Discrete list entry Text
Discrete list entry Text
DiscreteList Item
(Count – 1)
Discrete list entry Text
CurrentMin Current minimum value Float number
CurrentMax Current maximum value Float number
CurrentAve Current average value Float number

To get a real scaled value in the case of non-linear scaling, the client has to apply the following formula:

ScaledValue = ScaleRawData * RawValue + OffsetRawData

Channels in data packets are delivered in the same order as they are listed in »PREPARE TRANSFER« command.

Binary data format

Offset Length Data type Description Comment
0 8 Start packet string 0x00 0x01 0x02 0x03 0x04 0x05 0x06 0x07
8 4 Integer 32 bit Packet size Size in bytes without stop and start string
12 4 Integer 32 bit Packet type Always 0 for data packets
16 4 Integer 32 bit Samples in packet Always 0 for data packets ch.
20 8 Integer 64 bit Samples acquired so far
28 8 Double
floating point
Absolute/relative time Number of days since 12/30/1899
Number of days since start of acq.

Off = 36 bytes,

Repeat for each channel

If Channel is asynchronous

Offset (bytes) Length (bytes) Data type Description Comment
Off 4 4 Number of samples = x
Off + 4 X * SampleSize Sample data type Data samples
Off + 4 + X * SampleSize X * 8 Double floating point Timestamp samples Timestamps for samples in samples since start of acquisition

Off = Off + 4 + X * (SampleSize + 8)

If Channel is synchronous

Offset (bytes) Length (bytes) Data type Description Comment
Off 4 4 Number of samples = X = SamplesInPacket div Channel SR divider
Off + 4 X * SampleSize Sample data type Data samples Off = Off + 4 + X * SampleSize

If Channel is single value

Offset (bytes) Length (bytes) Data type Description Comment
Off 4 4 Number of samples = X = SamplesInPacket div Channel SR divider
Off + 4 8 Double floating point Data samples Off = Off + 12

End repeat

Offset Length Data type Description Comment
0 8 Start packet string 0x07 0x06 0x05 0x04 0x03 0x02 0x01 0x00