Explicit Messaging Sample State

The Sample State block reports metadata and measurement data related to the most recent scan frame. It maps to the Stamp, MeasurementValue, and String register assemblies and uses Class 0x04, Attribute 0x03, Instance ID 116 (0x74).

This assembly supports the GetAttributeSingle (0x0E) service and has a maximum size of 375 bytes.

Information

Value

Register Assembly

Sample State register assembly

Supported Block Type Identifier

Stamp, MeasurementValue, String

Class

0x4

Instance

116 (0x74)

Attribute Number

3

Max Size of Register Assembly

375 bytes

Supported Service GetAttributeSingle (0x0E)

Stamp Block

The Stamp block provides frame-level metadata useful for alignment, timing, and synchronization across devices. Values reflect the most recent frame acquired by the system.

Field

Type

Offset (bytes)

Value

Z Position

INT64

0

Encoder position at time of last index pulse of the last frame.

Encoder Position

INT64

8

Encoder position at time of scan capture.

Time

UINT64

16

Unique, monotonically increasing timetick of the last frame.

Time (µs) = Timetick / 1.024

Frame Index

UINT64

24

Frame number of the last scan.

Digital Input States

UINT8

32

Bitfield of digital inputs:Bit 0 = Digital Input 1Bit 1 = Digital Input 2

Buffer (reserved)

UINT8[3]

33-35

Reserved. Unused padding bytes.

Measurement Value Block

The MeasurementValue block returns the actual scan measurement value. GoPxL 1.2 does not support measurement + decision blocks—only measurement is reported.

Field

Type

Offset (bytes)

Value

[measurement value]

INT32

0

Measurement value ×1000. For example, 12.345 mm is sent as 12345. If the value is invalid, this field is set to 0x80000000.

String Block

The String block returns the string scan output.

Field

Type

Offset (bytes)

Value

[string value]

STRING

0

String value. Unused space will be set to null (0x0). The string is otherwise not null terminated.

If invalid, the block’s buffer is entirely set to null, equivalent to an empty string.

The string will be truncated if the block’s size is smaller than the length of the string.

Block size is 8 bytes by default and can be configured in the GoPxL UI.