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:

  1. Packet Header
  2. Packet Body which depends on the Packet type:
  3. Packet Footer

Packet Header

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

Packet Footer

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