Click or drag to resize

ScannerCommunicationAPITransceiveEnhanced Method

Sends the commands to the ScanHead selected by head using the Enhanced Protocol, and waits up to timeoutMilliseconds for a response.

Namespace: RAYLASE.SPICE3.ClientLib
Assembly: RAYLASE.SPICE3.ClientLib (in RAYLASE.SPICE3.ClientLib.dll) Version: 3.6.0
Syntax
C#
public uint[] TransceiveEnhanced(
	int head,
	Axes axes,
	uint[] commands,
	int timeoutMilliseconds = 1
)

Parameters

head  Int32
The head selector.
axes  Axes
The Axis/Axes to which the command(s) should be sent.
commands  UInt32
The command(s).
timeoutMilliseconds  Int32  (Optional)
The timeout in milliseconds.

Return Value

UInt32
An array of responses, consisting of one item for each command sent in commands.
Exceptions
Remarks
  • commands is an array consisting of one command for each of the axes specified by axes

    The array entries must be in order of the enum-values of Axes.

    For example when sending commands for X and Y, the array must consist of exactly 2 entries, with the command for X at index 0, and the command for Y at index 1.

    To send a command to the ZoomZ axis only, the array must consist of a single item: the command for ZoomZ.

  • Each command will be transmitted from the SP-ICE-3 Card to the ScanHead encapsulated in a 20-bit transmission frame.

    The command is 16-bits wide, and must be left-aligned within its frame.

    For example, the "Echo" command must be left-shifted by 4 bits, i.e. 0x21AB << 4 = 0x21AB0.

    NOTE that the symbolic constants in the RAYLASE.SPICE3.ScannerEnhancedProtocol namespace are already defined with the necessary alignment!

  • Similarly, each response frame is 20-bits wide, and 16-bit response values are left-aligned within their frames.

    For example, the "Echo" command will answer with 0xAB540: callers expecting a 16-bit value must right-shift the raw response value(s) by 4 bits.

See Also