Teledyne LeCroy Automation API for PETracer/PETrainer
ii
Document Disclaim er
The information contained in this document has been carefully checked and is believed to be
reliable. However, no responsibility can be assumed for inaccuracies that may not have been
detected.
Teledyne LeCroy reserves the right to revise the information presented in this document without
notice or penalty.
Trademarks and Servicemarks
Teledyne LeCroy, CATC, PETracer EML, PETracer M L, PETr ac er, PETr a iner E ML, PETr ai ner
ML, and PETracer Autom at ion are trademarks of Teledyne LeCroy.
Microsoft and Windows are registered trademarks of Microsoft Inc.
All other trademarks are property of their respective companies.
How to Contact Teledyne LeCroy .......................................................................................................... 147
Teledyne LeCroy Automation API for PETracer/PETrainer
1
1 Introduction
Teledyne LeCroy’s PETracer™ software provides a rich, functional COM/Automation API to the most
important functionalities of the Teledyne LeCroy PETracer Protocol Analyzer and Teledyne LeCroy PETrainer™
Exerciser. This makes it a great tool for implementation of automated programs for complicated testing,
development, and debugging. The "dual" nature of the interfaces provided makes it easy to use the PETracer
COM API in different IDEs (Integrated Development Environment) supporting the COM architecture.
A special support for typeless script languages, like VB and JavaScript, while overriding some restrictions
imposed by script engines (remote access, dynamic object creation, and handling events), gives the opportunity
to write client applications very quickly and easily. One does not require significant programming skills nor
installing expensive and powerful programming language systems. All these features, along with the ability to
set up all necessary DCOM permissions during the installation process, make the Teledyne LeCroy PETracer
an attractive tool in automating and speeding up many engineering processes.
1.1 System Requirements
The Automation API was introduced with the following release: PETracer software 4.10. This document
covers the functionality available in PETracer 4.00
1.2 Support Resources
As new functionalities are added to the API, not all of them are supported by older versions of the
PETracer software. For newer releases of PETracer software, please refer to the Teledyne LeCroy web site:
www.teledynelecroy.com
1.3 Setting Up Automation for Local Use
If you intend to run Automation on the PETracer/PETrainer Host Controller (i.e., the PC attached to the
PETracer/PETrainer), you do not need to perform any special configuration. You can simply execute the scripts
or programs you have created and they run the analyzer. In order to use the PETracer COM API, the application
should be registered as a COM server in a system registry. This is done during the installation process.
1.4 Setting Up Automation for Remote Use
If you would like to access PETracer remotely over a network, you should install the PETracer application
on both server and client machine and accept enabling remote access option during the installation. You can
also perform a manual DCOM configuration.
Teledyne LeCroy Automation API for PETracer/PETrainer
2
2 PETracer Object Model
Teledyne LeCroy’s PETracer™ API programmatically exposes its functionality through objects. You work with
an object by using its properties and methods. Objects are named according to the portion of an application they
represent, and they are ordered in a hierarchy.
A single object occupies the topmost tier of Teledyne LeCroy PETracer object hierarchy: PEAnalyzer.
The following object model diagram shows how the objects in an object model fit together:
PEAnalyzer
Only the
C/C++ client), instantiation of an object of other classes requires API calls.
The Class ID and App ID for the PEAnalyzer object are the following.
Class ID: 297CD804-08F5-4A4F-B3BA-779B2654B27C
App ID: CATC.PETracer
All interfaces are dual interfaces that allow simple use from typeless languages, like VBScript, as well as from
C/C++.
PEAnalyzerobject is creatable at the top level (for instance, via theCoCreateInstancecall from a
PETrace
PETraceErrors
PEVScriptEngine
PERecOptions
PEGenOptions
PEPacket
Teledyne LeCroy Automation API for PETracer/PETrainer
3
Objects
Interfaces
Description
PEAnalyzer
IAnalyzer
Represents the PETracer
IPEAnalyzer
IPEAnalyzer2
IPEAnalyzer3*
_IAnalyzerEvents
PETrace
ITrace
Represents recorded trace
IPETrace*
IPEVerificationScript*
PERecOptions
IRecOptions
Represents recording options
IPERecOptions
IPERecOptions2*
PEGenOptions
IGenOptions
Represents generation options
IPEGenOptions
IPEGenOptions2*
PEPacket
IPacket
Represents single packet of the
IPEPacket*
PETraceErrors
IAnalyzerErrors*
Represents the collection of
trace
All objects implement ISupportErrorInfo interface for easy error handling from the client.
application
recorded trace
errors occurred in the recorded
* Primary interfaces
The examples of C++ code given in this document assume using the “import” technique of creating COM clients;
that means the corresponding include is used:
Adds hardware information and control methods.
Extends the IPEAnalyzer2 interface:
The IPEAnalyzer3 interface is a primary interface for the PEAnalyzer object.
The Class ID and App ID for the PEAnalyzer object are the following.
Class ID: 297CD804-08F5-4A4F-B3BA-779B2654B27C
Note: All methods of the IAnalyzer interface are also available in the IPEAnalyzer (see Page 16), IPEAnalyzer2
(see Page 20), and IPEAnalyzer3 (see Page 25) interfaces.
Teledyne LeCroy Automation API for PETracer/PETrainer
6
version_type
Subsystem being queried for version; EAnalyzerVersionType
Teledyne LeCroy Automation API for PETracer/PETrainer
10
ro_file_name
String providing the full pathname to the recording options file; if the
options
3.1.5 IAnalyzer::StartRecording
HRESULT StartRecording (
[in] BSTR ro_file_name )
Starts recording with the specified recording options.
Parameters
parameter is omitted, then recording starts with default recording
Return values
Remarks
the StopRecording method call is performed. During the recording, the events are sent to event sink (see the
_IAnalyzerEvents interface, Page 119).
create this file when you select “Setup -> Recording Options…” from the PETracer application menu, change
the settings in the “Recording Options” dialog box, and then select the “Save…” button.
Example
VBScript:
On Error Resume Next
Analyzer.StartRecording TextRecOptions.value
If Err.Number <> 0 Then
MsgBox Err.Number & ":" & Err.Description
End If
ANALYZERCOMERROR_UNABLESTARTRECORDINGUnable to start recording
After recording starts, this function returns. The analyzer continues recording until it is finished or until
The recording options file is the file with extension .rec created by the PETracer application. You can
Teledyne LeCroy Automation API for PETracer/PETrainer
13
ro_file_name
String providing the full pathname to a recording options file;
recording options
trace
Address of a pointer to the PETrace object interface
3.1.7 IAnalyzer::MakeRecording
HRESULT MakeRecording (
[in] BSTR ro_file_name,
[out, retval] IDispatch** trace )
Makes recording with the specified recording options file.
Parameters
if the parameter is omitted, then recording starts with default
Return values
ANALYZERCOMERROR_UNABLESTARTRECORDING
Remarks
This method acts like the StartRecording method but does not return until recording is completed. The
PETrace object is created via this method call if the call was successful.
The recording options file is the file with extension .rec created by the PETracer application. You can
create this file when you select “Setup -> Recording Options…” from the PETracer application menu, change
the settings in the “Recording Options” dialog box, and then select the “Save…” button.
Teledyne LeCroy Automation API for PETracer/PETrainer
14
do_file_name
String providing the full pathname to a display options file
3.1.8 IAnalyzer::LoadDisplayOptions
HRESULT LoadDisplayOptions (
[in] BSTR do_file_name )
Loads display options that apply to a trace opened or recorded later.
Parameters
Return values
Remarks
apply only on trace file opened or recorded after this call.
this file when you select “Setup -> Display Options…” from the PETracer application menu, change the settings
in the “Display Options” dialog box, and then select the “Save…” button.
Example
ANALYZERCOMERROR_UNABLELOADDOUnable to load the display options file
Use this method if you want to filter traffic of some type. The display options loaded by this method call
Display options file is the file with extension .opt created by the PETracer application. You can create
See ITrace::ApplyDisplayOptions, Page 27.
Teledyne LeCroy Automation API for PETracer/PETrainer
15
recording_options
Address of a pointer to the PERecOptions object interface
3.1.9 IAnalyzer::GetRecordingOptions
HRESULT GetRecordingOptions (
[out, retval] IDispatch** recording_options )
Retrieves the interface for access to the recording options.
Parameters
Return values
Remarks
PERecOptions object is created via this method call, if the call was successful.
Example
WSH:
Set Analyzer = WScript.CreateObject( “CATC.PETracer” )
Set RecOptions = Analyzer.GetRecordingOptions( )
C++:
HRESULT hr;
IPEAnalyzer* poPEAnalyzer;
// create PEAnalyzer object
if ( FAILED( CoCreateInstance(
Teledyne LeCroy Automation API for PETracer/PETrainer
25
3.4 IPEAnalyzer3 interface
The IPEAnalyzer3 interface is a primary dual interface for the PEAnalyzer object.
This interface is derived from the IPEAnalyzer2 interface.
The IPEAnalyzer3
StartImportFile
interface implements all methods from IPEAnalyzer2interface plus the following:
Teledyne LeCroy Automation API for PETracer/PETrainer
26
file_name
String providing the full pathname to the import file
3.4.1 IPEAnalyzer3::StartImportFile
HRESULT StartImportFile ( [in] BSTR file_name )
Begins process of importing specified file into a trace file.
Parameters
Return values
Remarks
The format of the import file is defined in a proprietary Teledyne LeCroy specification. Please contact Teledyne
LeCroy PSG for details.
Teledyne LeCroy Automation API for PETracer/PETrainer
30
do_file_name
String providing the full pathname to the display options file
4.1.2 ITrace::ApplyDisplayOptions
HRESULT ApplyDisplayOptions (
[in] BSTR do_file_name )
Applies the specified display options to the trace.
Parameters
Return values
Remarks
create this file when you select “Setup -> Display Options…” from the PETracer application menu, change the
settings in the “Display Options” dialog box, and then select the “Save…” button.
Example
WSH:
C++:
IPETrace* pe_trace;
. . .
{
ANALYZERCOMERROR_UNABLELOADDOUnable to load the display options file
Use this method if you want to filter traffic of some type in the recorded or opened trace.
The display options file is the file with extension .opt c r eated b y the PETracer™ application. You can
Teledyne LeCroy Automation API for PETracer/PETrainer
31
file_name
String providing the full pathname to file where the tr a ce is saved
packet_from
beginning packet number
packet of this trace
packet_to
ending packet number
this trace
4.1.3 ITrace::Save
HRESULT Save (
[in] BSTR file_name,
[in, defaultvalue(-1)] long packet_from,
[in, defaultvalue(-1)] long packet_to )
Saves trace into a file while allowing you to specify a range of packets.
Parameters
when you are saving a range of packets;
value –1 means that the first packet of the saved trace is the first
when you are saving a range of packets; value –
1 means that the last packet of the saved trace is the last packet of
Return values
ANALYZERCOMERROR_UNABLESAVEUnable to save the trace file
ANALYZERCOMERROR_INVALIDPACKETNUMBER
Bad packet range
Remarks
applied to this trace (see
Use this method if you want to save a recorded or an opened trace into a file. If the display options
ITrace::ApplyDisplayOptions on Page 27orIAnalyzer::LoadDisplayOptions on Page
14), then hidden packets would not be saved.
If the packet range specified is invalid (for example, packet_to is more than the last packet number in
the trace, or packet_from is less than the first packet number in the trace, or packet_from is more than
packet_to), then the packet range is adjusted automatically.
Teledyne LeCroy Automation API for PETracer/PETrainer
32
file_name
String providing the full file pathname for the exported trace
packet_from
beginning packet number
packet of this trace
packet_to
ending packet number
packet of this trace
4.1.4 ITrace::ExportToText
HRESULT ExportToText (
[in] BSTR file_name,
[in, defaultvalue(-1)] long packet_from,
[in, defaultvalue(-1)] long packet_to );
Exports the trace into a text file while allowing you to specify a range of packets.
Parameters
when you are exporting a range of packets;
value –1 means that the first packet of the exported trace is the first
when you are exporting a range of packets,
value –1 means that the last packet of the exported trace is the last
Return values
ANALYZERCOMERROR_UNABLESAVEUnable to export trace file
Remarks
Use this method if you want to export a recorded or an opened trace into a text file. If the display options
applied to this trace (see
ITrace::ApplyDisplayOptions on Page 27orIAnalyzer::LoadDisplayOptions on Page
14), then hidden packets would not be exported.
If the packet range is specified and it is invalid (for example, packet_to is more than the last packet
number in the trace, or packet_from is less than the first packet number in the trace, or packet_from is more
than packet_to), then packet range is adjusted automatically.
Teledyne LeCroy Automation API for PETracer/PETrainer
33
Here is a snippet of an exported text file:
File C:\data.pex.
From Packet #1880 to Packet #1890.
Teledyne LeCroy Automation API for PETracer/PETrainer
35
4.1.5 ITrace::Close
HRESULT Close ( )
Closes the trace.
Parameters
Return values
Remarks
Closes the current trace, but does not release the interface pointer. Call IUnknown::Release method
right after this method call. No ITrace method call succeeds after calling ITrace::Close method
there is no need to call ITrace::Close directly since IUnknown::Release closes the trace.)
Example
. (Currently,
Teledyne LeCroy Automation API for PETracer/PETrainer
36
file_name
String providing the full pathname to a file where the trace information
report is stored
4.1.6 ITrace::ReportFileInfo
HRESULT ReportFileInfo (
[in] BSTR file_name )
Saves trace information into a specified HTML file.
Parameters
Return values
Remarks
Creates a new trace information file if the file specified in the file_name parameter does not exist.
Example
WSH:
C++:
IPETrace* pe_trace;
{
ANALYZERCOMERROR_UNABLESAVEUnable to create the trace information report
Teledyne LeCroy Automation API for PETracer/PETrainer
37
file_name
String providing the full pathname to a file where the error summary
report is stored.
4.1.7 ITrace::ReportErrorSummary
HRESULT ReportErrorSummary (
[in] BSTR file_name )
Saves trace error summary information into the specified text file.
Parameters
Return values
Remarks
Creates a new error summary file if the file specified in the file_name parameter does not exist. Stores
error summary in the specified file.
ANALYZERCOMERROR_UNABLESAVEUnable to create trace information report
This method doesn’t work on Multisegment traces.
Teledyne LeCroy Automation API for PETracer/PETrainer
38
Error report for ErrorFinding_loop.pex recording file.
_______|_______________________________________________________________________
Bad ECRCs on channel Upstream (0):
_______|_______________________________________________________________________
Bad ECRCs on channel Downstream (0):
_______|_______________________________________________________________________
Bad LCRCs on channel Upstream (12):
_______|_______________________________________________________________________
Bad LCRCs on channel Downstream (0):
_______|_______________________________________________________________________
Bad Packet length on channel Upstream (0):
_______|_______________________________________________________________________
Bad Packet length on channel Downstream (0):
_______|_______________________________________________________________________
Alignment Error on channel Upstream (0):
_______|_______________________________________________________________________
Alignment Error on channel Downstream (0):
_______|_______________________________________________________________________
Invalid 10b Code on channel Upstream (11):
_______|_______________________________________________________________________
Invalid 10b Code on channel Downstream (0):
_______|_______________________________________________________________________
Running Disparity Error on channel Upstream (0):
_______|_______________________________________________________________________
Running Disparity Error on channel Downstream (0):
_______|_______________________________________________________________________
End of Bad Packet on channel Upstream (0):
_______|_______________________________________________________________________
End of Bad Packet on channel Downstream (0):
_______|_______________________________________________________________________
Delimiter Error on channel Upstream (12):
_______|_______________________________________________________________________
Delimiter Error on channel Downstream (0):
_______|_______________________________________________________________________
TS Data Error on channel Upstream (0):
_______|_______________________________________________________________________
TS Data Error on channel Downstream (0):
_______|_______________________________________________________________________
Ordered Set Format Error on channel Upstream (0):
_______|_______________________________________________________________________
Ordered Set Format Error on channel Downstream (0):
_______|_______________________________________________________________________
Idle Error on channel Upstream (0):
_______|_______________________________________________________________________
Idle Error on channel Downstream (11):
_______|_______________________________________________________________________
Skip Late on channel Upstream (0):
_______|_______________________________________________________________________
Skip Late on channel Downstream (0):
_______|_______________________________________________________________________
Skew Error on channel Upstream (0):
_______|_______________________________________________________________________
Skew Error on channel Downstream (0):
_______|_______________________________________________________________________
Here is an example of data stored using this method call:
Teledyne LeCroy Automation API for PETracer/PETrainer
Teledyne LeCroy Automation API for PETracer/PETrainer
48
4.3 IPEVerificationScript interface
The IPEVerificationScript interface is an interface for the
running verification scripts. This interface is not dual – which means that scripting languages cannot use it
directly, though all of its methods described below are exposed to script languages through the primary
automation interface of the PETrace object.
Remarks
Verification scripts are scripts written in a special manner using the CATC Script Language (CSL).
These scripts can be “run” over a recorded trace to “verify” the trace for some verification conditions or to extract
more advanced information from the trace. Such scripts utilize a special feature of the PETracer application, i ts
Verification Script Engine.
Please refer to the PETracer Manual, the PETracer Ver ificat io n Scri pt Eng in e Manua l, and the PETracer
File Based Decoding Manual for more details.
Attention:
The functions of this interface may be legally called either for regular traces or multi-segmented traces.
The VSE opens segments of the multi-segmented trace during script execution when it is needed.
PETrace object. It exposes the trace functionality for
Teledyne LeCroy Automation API for PETracer/PETrainer
Runs a verification script over the recorded trace
Parameters
Address of a variable where to keep the result of verification;
VS_RESULT is an enumeration type that can have 5 possible
meanings:
SCRIPT_RUNNING (-2) - verification script is running
SCRIPT_NOT_FOUND (-1) - verification script with the specified
name was not found
FAILED ( 0) - verification failed
PASSED ( 1) - verification passed
DONE ( 2) - verification is done, don’t care about
Return values
S_OK If the verification script executed successfully.
Remarks
The name of the verification script is the name of the verification script file (*.pevs). If only the name of
the script, without file extension, is specified, PETracer’s server is going to search for the named script among
the scripts loaded from the \Scripts\VFScripts folder under PETracer installation folder. If the full path to the
script is specified, then the server is going to attempt loading the script from the specified path prior to running it.
Example
For a verification script file named “test.pevs”, the test name would be “test”. Please refer to the PETracer
Verification Script Engine Manu al for more details.
Teledyne LeCroy Automation API for PETracer/PETrainer
50
Example
C++:
// In this example we use wrapper functions provided by #import directive
//
IPETrace* trace;
. . .
IPEVerificationScript* vscript = NULL;
if ( SUCCEEDED ( trace->QueryInterface( IID_IPEVerificationScript, (void**)&vscript ) )
{
try
{
VS_RESULT result = vscript ->RunVerificationScript("Test1");
if( result == PASSED )
{
::MessageBox( NULL, "Test verification 1 is passed !!!", "PETracer client",
Set Analyzer = WScript.CreateObject("CATC.PETracer")
Set Trace = Analyzer.OpenFile( "C:\Some trace files\some_trace.pex" )
Dim Result
Set VSEngine = Trace.GetVScriptEngine( "Test1" )
Result = VSEngine.RunVScript
If Result = 1 Then
Msgbox "PASSED"
Else
Msgbox "FAILED"
End If
MsgBox( "Done" )
Teledyne LeCroy Automation API for PETracer/PETrainer
53
Interfaces
Description
IRecOptions
Allows you to load/save recording options from/to the file,
buffer size, trigger position, and the trace file name
IPERecOptions
Identical to IRecOptions interface
IPERecOptions2
Extends the IPERecOptions interface. Adds a set up for link
algorithm, skew, lane reversal, and polarity inversion
5 PERecOptions Object
The PERecOptions object represents the options for the PETracer™ (x1, ML, EML) hardware and is used to
specify the recording parameters.
The PERecOptions object allows user to:
• Load/save the recording options from/to the file
• Set up recording mode and recording buffer size
• Set up custom recording parameters such as link width, descrambling mode, deskew, etc.
The PERecOptions object can be created by using the IAnalyzer::GetRecordingOptions method (see Page 15)
The PERecOptions object supports the following interfaces:
reset recording options, set up recording mode, recording
Sets the hardware configuration for the recording options.
Parameters
has the following values:
(0) - PETracer x1
(1) - PETracer ML
(2) - PETracer ML (2 boxes)
(3) - PETracer EML
– Edge T1-4
– Summit T2
– Summit T3-16
) – Summit T3-8
– Summit T28
– Summit T3-8 (2 boxes)
Teledyne LeCroy Automation API for PETracer/PETrainer
65
link_width
Link width to set; Allowed values are
PETracer EML - 1, 2, 4, 8, 16
5.3.2 IPERecOptions2::SetLinkWidth
HRESULT SetLinkWidth (
[in] int link_width )
Sets the link width.
Parameters
PETracer x1 - 1
PETracer ML - 1, 2, 4, 8
Teledyne LeCroy Automation API for PETracer/PETrainer
66
base_10_spec
When TRUE, the PETracer hardware uses Base Spec 1.0 com patibil ity
mode
5.3.3 IPERecOptions2::SetBase10Spec
HRESULT SetBase10Spec (
[in] BOOL base_10_spec )
Sets PCI Express Base Specification 1.0 compatibility mode.
Parameters
Remarks
Implemented for PETracer ML and PETracer EML. Not implemented for PETracer x1.
Teledyne LeCroy Automation API for PETracer/PETrainer
67
ext_ref_clock
When TRUE, the external reference clock is used
5.3.4 IPERecOptions2::SetExternalRefClock
HRESULT SetExternalRefClock(
[in] BOOL ext_ref_clock )
Specifies whether to use the external or internal reference clock
Parameters
Teledyne LeCroy Automation API for PETracer/PETrainer
68
disable_descrambling
When TRUE, the descrambling is disabled
5.3.5 IPERecOptions2::SetDisableDescrambling
HRESULT SetDisableDescrambling (
[in] BOOL disable_descrambling )
Disables/enables descrambling of incoming traffic.
Parameters
Remarks
Implemented for PETracer ML and PETracer EML. Not implemented for PETracer x1.
Teledyne LeCroy Automation API for PETracer/PETrainer
69
disable_deskew
When TRUE, the deskew is disabled
5.3.6 IPERecOptions2::SetDisableDeskew
HRESULT SetDisableDeskew(
[in] BOOL disable_deskew )
Disables/enables deskew of incoming traffic.
Parameters:
Remarks
Implemented for PETracer ML and PETracer EML. Not implemented for PETracer x1.
Teledyne LeCroy Automation API for PETracer/PETrainer
70
auto_config
When TRUE, lane polarity is detected automatically for all lanes.
5.3.7 IPERecOptions2::SetAutoConfigPolarity
HRESULT SetAutoConfigPolarity(
[in] BOOL auto_config )
Enables/disables automatic polarity detection.
Parameters:
Remarks
Implemented for PETracer ML and PETracer EML. Not implemented for PETracer x1.
Teledyne LeCroy Automation API for PETracer/PETrainer
71
direction
Enumerated value that provides traffic direction to inhibit; EDirection has
DIRECTION_DOWNSTREAM (1) - downstream traffic
inhibit
Specifies whether to inhibit traffic specified in the direction parameter
5.3.8 IPERecOptions2::SetInhibit
HRESULT SetInhibit(
[in] EDirection direction,
[in] BOOL inhibit )
Inhibits one of the traffic directions.
Parameters:
the following values:
DIRECTION_UPSTREAM (0) - upstream traffic
Remarks
Implemented for PETracer ML and PETracer EML. Not implemented for PETracer x1.
Teledyne LeCroy Automation API for PETracer/PETrainer
72
direction
Enumerated value that provides traffic direction for lane reversal;
DIRECTION_DOWNSTREAM (1) - downstream traffic
reverse
Specifies whether to reverse the lanes in the direction selected.
5.3.9 IPERecOptions2::SetReverseLanes
HRESULT SetReverseLanes(
[in] EDirection direction,
[in] BOOL reverse )
Allows lane reversal on the specified traffic direction.
Parameters:
EDirection has the following values:
DIRECTION_UPSTREAM (0) - upstream traffic
Remarks
Implemented for PETracer ML and PETracer EML. Not implemented for PETracer x1.
Teledyne LeCroy Automation API for PETracer/PETrainer
73
direction
Enumerated value that provides traffic direction for polarity inversion;
DIRECTION_DOWNSTREAM (1) - downstream traffic
lane
Specifies the lane for polarity inversion
invert
Sets polarity inversion on the specified lane and specified link direction
5.3.10 IPERecOptions2::SetInvertPolarity
HRESULT SetInvertPolarity (
[in] EDirection direction,
[in] int lane,
[in] BOOL invert )
Allows polarity inversion of the specified lane and specified traffic direction.
Parameters:
EDirection has the following values:
DIRECTION_UPSTREAM (0) - upstream traffic
Remarks
Implemented for PETracer ML and PETracer EML. Not implemented for PETracer x1. This call fails if
automatic polarity detection is enabled (see IPERecOptions2::SetAutoConfigPolarity, Page 64)
Teledyne LeCroy Automation API for PETracer/PETrainer
74
link_speed
- enum that can have following values:
SPD_G3 ( 3 )
5.4 IPERecOptions3 in t er f ace
The IPERecOptions3
This interface is derived from the IPERecOptions interface.
The IPERecOptions3
Teledyne LeCroy Automation API for PETracer/PETrainer
81
5.6 SimpleFilter
SimpleFilter allows enabling /disabling the filter and setting data stream direction..
The SimpleFilter interface implements following methods SetEnabled
Teledyne LeCroy Automation API for PETracer/PETrainer
83
Interfaces
Description
IGenOptions
Allows you to load/save recording options from/to the file and
reset generation options
IPEGenOptions
Identical to IGenOptions interface
IPEGenOptions2
Extends the IPEGenOptions interface. Adds set up for link
algorithm, skew, lane reversal, and polarity inversion
6 PEGenOptions Object
The PEGenOptions object represents the options for the PETrainer™ (ML and EML) hardware. Also used to
specify the traffic generation parameters.
The PEGenOptions object allows user to:
• Load/save the generation options from/to the file
• Set up custom generation parameters, such as link width, etc.
The PEGenOptions object can be created by using IPEAnalyzer::GetGenerationOptions method (see Page 18)
The PEGenOptions object supports the following interfaces:
Teledyne LeCroy Automation API for PETracer/PETrainer
87
6.1.3 IGenOptions::Reset
HRESULT Reset ( )
Resets the generation options to its initial state.
Parameters
Return values
Remarks
Example
WSH:
Set Analyzer = WScript.CreateObject( “CATC.PETracer” )
Set GenOptions = Analyzer.GetGenerationOptions( )
GenOptions.Reset( )
C++:
Teledyne LeCroy Automation API for PETracer/PETrainer
88
6.2 IPEGenOptions interface
This interface is identical to the IGenOptions interface (see Page 69).
6.3 IPEGenOptions2 interface
The IPEGenOptions2 interface is a primary dual interface for the PEGenOptions object.
This interface is derived from the IPEGenOptions interface.
The IPEGenOptions2