Tektronix oscilloscope module

Tektronix oscilloscope.

class place.plugins.tektronix.tektronix.TektronixCommon(config)[source]

Common class for all Tektronix oscilloscopes.

The Tektronix oscilloscope requires the following configuration data (accessible as self._config[‘key’]):

Key Type Meaning
force_trigger bool True if oscilloscope should automatically trigger. False if oscilloscope should wait for trigger.
plot bool True if plotting should occur, otherwise False.

The oscilloscope will produce the following experimental metadata:

Key Type Meaning
model-active_channels list This is a list of boolean values to indicate which channels were active on the oscilloscope when the trace was acquired.
model-sample_rate float The sample rate, as reported by the oscilloscope.
model-record_length int The horizontal record length, as reported by the oscilloscope.
model-chN_x_zero float The zero point of the x-axis for channel N, as reported by the oscilloscope.
model-chN_x_increment float The increment between data point for channel N, as reported by the oscilloscope.
model-chN_y_zero float The zero point of the y-axis for channel N, as reported by the oscilloscope.
model-chN_y_offset float The offset of the y-axis data for channel N, as reported by the oscilloscope.
model-chN_y_multiplier float The multiplier for the y-axis data for channel N, as reported by the oscilloscope.

You can use the following equation to compute the voltage:

volts = (trace - y_offset) * y_multiplier + y_zero
time = (np.linspace(0, x_increment * len(volts), len(volts)) + x_zero)

This module will produce the following experimental data:

Heading Type Meaning
model-trace [channel X sample] array of uint16 the trace data recorded on the oscilloscope

Note

In the output data, model will be replaced by the model number of the oscilloscope in use (i.e. DPO3014).

config(metadata, total_updates)[source]

Configure the oscilloscope.

Parameters:
  • metadata (dict) – metadata for the experiment
  • total_updates (int) – the number of update steps that will be in this experiment
Raises:

OSError – if unable to connect to oscilloscope

update(update_number, progress)[source]

Get data from the oscilloscope.

Parameters:
  • update_number (int) – the current update count
  • progress (dict) – data to send back to the web app
Returns:

the trace data

Return type:

numpy.array dtype=’(number_channels,*number_samples*)int16’

cleanup(abort=False)[source]

Nothing to cleanup

class place.plugins.tektronix.tektronix.MSO3000andDPO3000Series(config)[source]

PLACE device class for the MSO3000 and DPO3000 series oscilloscopes.

This class is based on the programmers manual and should apply to the following devices: DPO3012, DPO3014, DPO3032, DPO3034, DPO3052, DPO3054, MSO3012, MSO3014, MSO3032, MSO3034, MSO3054.

class place.plugins.tektronix.tektronix.MDO4000BCMSODPO4000BandMDO3000(config)[source]

PLACE device class for the MDO4000-B-C-MSO-DPO4000B-and-MDO3000 series oscilloscopes.

class place.plugins.tektronix.tektronix.DPO3014(config)[source]

Subclass for the DPO3014

class place.plugins.tektronix.tektronix.MDO3014(config)[source]

Subclass for the MDO3014