2 setsequencenumber instruction, Setsequencenumber instruction – Teledyne LeCroy Voyager Exerciser Generation Script Language Manual User Manual
Page 69
![background image](/manuals/353648/69/background.png)
Teledyne LeCroy
Voyager USB 3.0 Exerciser Generation Script Language Reference Manual
60
9.1.2 SetSequenceNumber Instruction
This instruction initializes automatic sequence number processing for an endpoint.
For Device Emulation, it is also used to enable the endpoint operation.
Format
SetSequenceNumber
( pipe type, device addr, endp num, data dir,
sequence num, enable, transaction engine index )
SetSequenceNumber has the following instruction parameters:
pipe type: Specifies the Pipe Type for the endpoint that is being set up. Possible values are
described in SendPipeCommand section Pipe Type table.
device addr: Specifies the USB address for the device.
endp num: Specifies the endpoint number for the endpoint.
data dir: Specifies the data transfer direction for the endpoint.
sequence num: Specifies the initialization sequence number for the endpoint operation.
enable: Only relevant for Device emulation. Used to enable or disable operation of the
endpoint. When the endpoint is enabled, it will automatically send NRDY for the Host
transactions directed to it, if there is no Pipe Command currently queued for it.
transaction engine index: Optional index of the Transaction Engine to initialize this endpoint
on (with the intention to run Pipe Commands on it later) . Current Exerciser supports two
instances of the Transaction Engine, so the value can be 0 or 1. Starting transfers on
different Transaction Engines can be used to achieve concurrent execution of the transfers in
the same direction.
The Host enumeration script would usually call this instruction after setting an interface on the
device to initialize operation for all the endpoints in that interface.
Examples of calling the SetSequenceNumber instruction
# Host emulation
%include "Generation\Include\TransactionEngine\PipeCommands.ginc"
Main
{
# Initialize sequence number for Bulk IN endpoint 2
# on device address 1
SetSequenceNumber
( PIPE_TYPE_BULK, 1, 2, EP_DIR_IN, 0 )
}