3 transaction engine scripts supplied with voyager, 2 device emulation instructions, Transaction engine scripts supplied with voyager – Teledyne LeCroy Voyager Exerciser Generation Script Language Manual User Manual
Page 70: Device emulation instructions

Teledyne LeCroy
Voyager USB 3.0 Exerciser Generation Script Language Reference Manual
61
9.1.3 Transaction Engine Scripts supplied with Voyager
A set of include files supplied with the Voyager software provides wrapper functions around
Transaction Engine functionality for easy writing of scripts at the application level. These include
files are in the \Generation\Include\TransactionEngine folder. The following files are provided:
o PipeCommands.ginc: The main include file provides definitions for the
SendPipeCommand instruction. Include it in all scripts utilizing Transaction Engine.
o Host_DeviceRequests.ginc: Provides a function framework for implementing USBDevice
Requests for Host emulation. Contains generic functions for setting up device requests, as
well as specific functions for standard device requests.
o Host_EndpointOperations.ginc: Provides a function framework for implementing Bulk
transfers for Host emulation. Contains generic functions for reading from and writing to Bulk
endpoints.
o Host_UASP.ginc: Provides a function framework for implementing UASP protocol and SCSI
commands for Host emulation. Includes generic functions for queuing no data, data-in, data-
out, and bidirectional UASP operations, as well as a set of functions for queuing specific
SCSI commands.
o Device_UASP.ginc: Provides a function framework for implementing some aspects of UASP
protocol and SCSI commands for Device emulation.
Use the include files described above to write scripts related to their areas of functionality. You
can also use the files as examples for creating scripts.
Example Transaction Engine scripts are provided with Voyager software in the
TransactionEngineScripts folder under the 3.0 sample files folder:
o DeviceEnumeration.usb3g: Has an example of enumerating a device for Host emulation
using Transaction Engine.
o uasp_scsi_cmd1.usb3g
o uasp_scsi_cmd2.usb3g: Has examples of setting up SCSI commands to a device for Host
emulation.
o Device_RespondToEnumeration.usb3g: Has an example of Device emulation using
Transaction Engine features. Can be used on a second Trainer with the first Trainer running
the DeviceEnumeration.usb3g Host emulation script.
o Device_RespondToSCSI.usb3g: Has an example of Device emulation using
Transaction Engine features. Can be used on a second Trainer with the first Trainer running
the uasp_scsi_command1.usb3g Host emulation script, after enumeration using the
DeviceEnumeration.usb3g and Device_RespondToEnumeration.usb3g scripts.
9.2 Device Emulation Instructions
Starting with version 4.20, the USB Protocol Suite introduces Trainer facilities for
Device Emulation. They include instructions for initializing the device emulation and defining a set
of descriptors for the Device Framework Handler, which automatically handles all Standard USB
device requests. These instructions are applicable only when the Trainer operation mode is set to
Device Emulation.