aboutsummaryrefslogtreecommitdiff
LeCrunch version 1.1
====================

Installation
------------

LeCrunch requires a python version >= 2.6 and the following python packages:

    numpy
        The fundamental package needed for scientific computing with python.
	On an ubuntu distribution:

	~$ sudo apt-get install python-numpy

    h5py
        A general-purpose Python interface to the Hierarchical Data Format
	Library. The source can be downloaded from <code.google.com/p/h5py>,
	or on an ubuntu distribution:

	~$ sudo apt-get install python-h5py

    matplotlib
        A python 2D plotting library which produces publication quality figures
	in a variety of hardcopy formats and interactive environments across
	platforms; on an ubuntu distribution:

	~$ sudo apt-get install python-matplotlib

After downloading LeCrunch, you should first edit the file "setup.py" and
set the variable "scope_ip" to the ip address of your oscilloscope. If you're
unsure of the ip address of your oscilloscope, just open up a web browser
on the oscilloscope and go to www.whatsmyip.org.

Then just source the env.sh file in this directory, and you're good to go!

What is LeCrunch?
-----------------

LeCrunch is a set or libraries and scripts for communicating and extracting
waveform traces from LeCroy X-stream oscilloscopes.

How to use LeCrunch
-------------------

The syntax to fetch waveforms:

~$ fetch.py <filename> [-n NUMBER OF TRACES] [-r NUMBER OF RUNS]

where <filename> is the name of the file you would like LeCrunch to store the
extracted waveforms; waveforms are stored in the hdf5 file format.

Once you have fetched some waveforms you can plot an overlay with draw.py:

~$ draw.py <filename>

You can load and save the scope's configuration with config.py. Suppose you
took some data a month ago and saved it to the file "run001.hdf5". Then, to
restore the scope configuration as it was when you took that data, just run:

~$ config.py load run001.hdf5

In order to send commands directly to the oscilloscope you can run the file
"sock.py" as a script:

~$ sock.py "display?"
'DISP ON\n'

~$ sock.py "sequence?"
'SEQ OFF,1000,25E+3 SAMPLE\n'

~$ sock.py "seq on, 100"

For a list of commands see the LeCroy Remote Control Manual. If you don't have
a copy, just google it.

How to Transfer Waveforms at High Speed
---------------------------------------

Turn on sequence mode!

~$ sock.py 'seq on, 1000'

Be aware that as you turn up the number of segments the scope will take
longer to process a single acquisition. The default timeout value for the
socket connection in sock.py is set to 2 seconds; therefore, if an acquisition
takes longer than 2 seconds, the socket object may raise a timeout exception
when you attempt to readout a waveform.

How to Analyze the Waveforms
----------------------------

Example code to read the waveforms from an hdf5 file is coming soon.

Documentation
-------------

Currently, this README file is the only documentation.

Bug Reports
-----------

Please send bug reports to <tlatorre9@gmail.com>

That's all folks!
-----------------

--Anthony LaTorre <tlatorre9@gmail.com>