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) |
Channel Tags | Channel tag | Text |
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 |