Channel Information
Retrieving Channel Metadata
To obtain detailed information about available channels, send the LISTUSEDCHS command. The response provides comprehensive metadata for each channel in a tab-separated format.
Channel Metadata Fields
| Field |
Description |
Data Type |
| Ch |
Fixed identifier string |
String |
| Channel Type/Index |
Channel classification or numeric index |
Number |
| Number |
Sequential channel number |
Integer |
| Name |
Human-readable channel name |
String |
| Description |
Detailed channel description |
String |
| Unit |
Measurement unit (e.g., “V”, “A”, “°C”) |
String |
| Control Channel |
Control channel flag |
Boolean (1 or 0) |
| Samplerate Divider |
Synchronization divider or channel type |
Integer/String |
| Expected Async Rate |
Expected sampling rate for async channels (Hz) |
Float |
| Measurement Type |
Data interpretation type |
Integer |
| Sample Data Type |
Binary data format |
Integer |
| Buffer Size |
Data buffer size in bytes |
Integer |
| Custom Scale |
Post-amplifier scaling factor |
Float |
| Custom Offset |
Post-amplifier offset value |
Float |
| Scale Raw Data |
Raw data scaling factor |
Float |
| Offset Raw Data |
Raw data offset value |
Float |
| Description |
Channel slot information |
String |
| Settings |
Channel configuration parameters |
String |
| Range Min |
Minimum measurement range |
Float |
| Range Max |
Maximum measurement range |
Float |
| Overload |
Overload capability |
String (OvlYes/OvlNo) |
| AutoZero |
Auto-zero feature status |
Boolean (1 or 0) |
| Channel Tags |
Associated metadata tags |
String |
| DiscreteListCount |
Number of discrete value entries |
Integer |
| DiscreteList Items |
Individual discrete value definitions |
String (multiple) |
| CurrentMin |
Current minimum measured value |
Float |
| CurrentMax |
Current maximum measured value |
Float |
| CurrentAve |
Current average measured value |
Float |
Measurement Types
| Value |
Description |
| 0 |
General measurement |
| 1 |
GPS longitude |
| 2 |
GPS latitude |
| 3 |
GPS heading |
| 4 |
Absolute timestamp |
| 5 |
Character data |
| 6 |
Relative timestamp |
| 7 |
IP address |
| 8 |
Variable array/binary data |
| 9 |
MAC address |
| 10 |
Discrete values |
| 11 |
LIN bus data |
Sample Data Types
| Value |
Description |
| 0 |
8-bit unsigned integer |
| 1 |
8-bit signed integer |
| 2 |
16-bit unsigned integer |
| 3 |
16-bit signed integer |
| 4 |
32-bit signed integer |
| 5 |
Single-precision float |
| 6 |
64-bit signed integer |
| 7 |
Double-precision float |
| 8 |
32-bit unsigned integer |
| 9 |
Complex single-precision float |
| 10 |
Complex double-precision float |
| 11 |
Text data |
| 12 |
Binary data |
| 13 |
CAN message |
| 14 |
CAN-FD message |
| 15 |
1 byte raw |
| 16 |
2 bytes raw |
| 17 |
4 bytes raw |
| 18 |
8 bytes raw |
Sample Rate Dividers
- Integer value - Divider for synchronous channels
- “Async” - Asynchronous channel
- “SingleValue” - Single value channel
Data Scaling Formula
To convert raw values to scaled measurements for non-linear scaling:
ScaledValue = (ScaleRawData × RawValue) + OffsetRawData
NOTE: Channels appear in data packets in the same order as listed in the PREPARETRANSFER command.
Binary Data Format
Packet Structure
Each data transmission consists of three parts:
- Packet Header
- Packet Body which depends on the Packet type:
- Packet Footer
| Offset |
Length |
Type |
Field |
Value/Description |
| 0 |
8 bytes |
Binary |
Start Marker |
0x00 0x01 0x02 0x03 0x04 0x05 0x06 0x07 |
| 8 |
4 bytes |
int32 |
Packet Size |
Total bytes excluding start/stop markers |
| 12 |
4 bytes |
int32 |
Packet Type |
See packet types |
Packet Types
| Value |
Type |
Description |
| 0 |
Data |
Measurement data |
| 1 |
Info |
Status/control information |
| 2 |
Video |
Video stream data |
| 3 |
Image |
Internal image data |
| 4 |
Screen |
Internal screen setup data |
Data Packet Formats
Common Header (12 bytes)
| Offset |
Length |
Type |
Field |
Description |
| 16 |
4 bytes |
int32 |
Samples in Packet |
Always 0 for data packets |
| 20 |
8 bytes |
int64 |
Total Samples |
Cumulative samples acquired |
| 28 |
8 bytes |
double |
Timestamp |
Days since 12/30/1899 (absolute) or acquisition start (relative) |
Channel Data (Variable Length)
Starting at offset 36, data for each channel follows in sequence:
Asynchronous Channels
| Field |
Length |
Type |
Description |
| Sample Count |
4 bytes |
int32 |
Number of samples (X) |
| Sample Data |
X × SampleSize |
Varies |
Raw measurement data |
| Timestamps |
X × 8 bytes |
double[] |
Sample timestamps (samples since acquisition start) |
NOTE: Binary channels need to carry variable data length per each sample and are defined in a different manner.
Binary Channels (Subset of Asynchronous Channels)
| Field |
Length |
Type |
Description |
| Sample Count |
4 bytes |
int32 |
Number of samples (X) |
| Sample Data |
X × 16 bytes |
[int64, int64] |
Binary data descriptor [position, size]. Position denotes the absolute position since start of measurement. |
| Binary Data Size |
4 bytes |
int32 |
Total size of the binary data array in this packet |
| Binary Data |
Varied |
Byte array |
Actual binary content referenced in Sample Data |
| Timestamps |
X × 8 bytes |
double[] |
Sample timestamps (samples since acquisition start) |
Synchronous Channels
| Field |
Length |
Type |
Description |
| Sample Count |
4 bytes |
int32 |
X = SamplesInPacket ÷ ChannelDivider |
| Sample Data |
X × SampleSize |
Varies |
Raw measurement data |
Single Value Channels
| Field |
Length |
Type |
Description |
| Sample Count |
4 bytes |
int32 |
Always 1 |
| Sample Value |
SampleSize |
Varies |
Single measurement value |
Info Packet Formats
| Offset |
Length |
Type |
Field |
Description |
| 16 |
4 bytes |
int32 |
Action Code |
Event type identifier |
| 20 |
Variable |
UTF-8 |
Message |
Event description text |
Action Codes
| Code |
Event |
Description |
| 1 |
Restart |
Acquisition restarted |
| 2 |
Stop |
Acquisition stopped |
| 3 |
Data Loss |
Data packets lost |
| 5 |
Notice |
General notification |
| 6 |
Clear |
Data buffer cleared |
| 7 |
Start |
Acquisition started |
| 8 |
Setup Change |
Configuration modified |
| 10 |
Log Entry |
Event logged |
| Offset |
Length |
Type |
Field |
Value |
| End-8 |
8 bytes |
Binary |
End Marker |
0x07 0x06 0x05 0x04 0x03 0x02 0x01 0x00 |
Implementation Notes
- All multi-byte integers use little-endian byte order unless specified otherwise
- Floating-point values follow IEEE 754 standard
- Text strings are UTF-8 encoded
- Packet sizes include all data between start and end markers
- Channel data ordering matches the
PREPARETRANSFER command sequence
- Timestamp values for absolute time represent days since December 30, 1899 (Excel/OLE date format)
- Relative timestamps are measured from acquisition start time