beautypg.com

Operator’s manual – Teledyne LeCroy WaveExpert 100H Operators Manual User Manual

Page 198

background image

Operator’s Manual

196

WE-OM-E Rev A

The full names of these global objects are:

Memory Mapped File

"FastWavePort1File"

Data Available Event

"FastWavePort1MutexDataAvailable"

Processing Complete Event

"FastWavePort1MutexProcessingComplete"

The "Timeout" field specifies the amount of time that the DSO will wait for the custom processing
function to complete. This prevents the DSO from waiting indefinitely for a potentially
unforthcoming custom processing function. Be careful to set this value to something reasonable,
which means a time that is longer by a reasonable margin than the custom processing is ever
expected to take.

Data Length Limitations

The size of the memory window is fixed at 80 Mbytes, which equates to 40 MSamples.

Performance

This is by far the fastest way to process data using a user-defined algorithm on an X-Stream DSO.

Choice of Programming Language

The system was designed for use with the C/C++ programming language. However, it is
theoretically possible for the processing to be implemented in any language that supports Windows
named events (Mutex) and can open a named memory-mapped file. No guarantee can be given,
however, as to the behavior of the system using anything but C/C++.

Example Application

This simple C++ application may be used as a starting point for a custom processing function. It
demonstrates the following:

y

How to create handles to the global objects (the memory window and the two events).

y

How to read data from the memory window when the DSO flags that it's available.

y

How to scale the data into units of volts using data in the header that's stored at the
beginning of the memory window.

y

How to perform a simple processing function (in this case the absolute value).

y

How to define the physical units of the output of the processing function (in this case
'Amps').

y

How to flag to the DSO application that processing is complete.

//------------------------------------------------------------------------------------------

// FastWavePortClient.cpp :

//

// Prototype C++ client application for "Fast Wave Port' Math Processor

//