Tektronix Oscilloscope

A device for controlling Tektronix oscilloscopes using the standard VISA interface.

labscript_devices.TekScope.labscript_devices

labscript_devices.TekScope.blacs_tabs

labscript_devices.TekScope.blacs_workers

labscript_devices.TekScope.TekScope

Installation

This wrapper requires PyVISA and a compatible VISA installation. Free versions are provided by NI and Keysight (NI preferred if already using NI DAQs).

Detailed Documentation

class labscript_devices.TekScope.labscript_devices.TekScope(name, addr, termination='\n', preamble_string='WFMP', timeout=5, int16=False, **kwargs)[source]

Bases: Device

A labscript_device for Tektronix oscilloscopes using a visa interface. connection_table_properties (set once) termination: character signalling end of response preamble_string: base command for waveform preamble (‘WFMO’ or ‘WFMP’)

device_properties (set per shot) timeout: in seconds for response to queries over visa interface int16: download waveform pts as 16 bit integers (returns 1/2 as many pts)

Creates a Device.

Parameters:
  • name (str) – python variable name to assign this device to.

  • parent_device (Device) – Parent of this device.

  • connection (str) – Connection on this device that links to parent.

  • call_parents_add_device (bool, optional) – Flag to command device to call its parent device’s add_device when adding a device.

  • added_properties (dict, optional) –

  • gui

  • worker

  • start_order (int, optional) – Priority when starting, sorted with all devices.

  • stop_order (int, optional) – Priority when stopping, sorted with all devices.

  • **kwargs – Other options to pass to parent.

description = 'Tekstronix oscilloscope'

Brief description of the device.

generate_code(hdf5_file)[source]

Generate hardware instructions for device and children, then save to h5 file.

Will recursively call generate_code for all children devices.

Parameters:

hdf5_file (h5py.File) – Handle to shot file.

class labscript_devices.TekScope.blacs_tabs.TekScopeTab(notebook, settings, restart=False)[source]

Bases: DeviceTab

initialise_GUI()[source]
initialise_workers()[source]
class labscript_devices.TekScope.blacs_workers.TekScopeWorker(*args, **kwargs)[source]

Bases: Worker

abort()[source]
abort_buffered()[source]
abort_transition_to_buffered()[source]
init()[source]
program_manual(values)[source]
transition_to_buffered(device_name, h5file, front_panel_values, refresh)[source]
transition_to_manual()[source]
class labscript_devices.TekScope.TekScope.TekScope(addr='USB?*::INSTR', timeout=1, termination='\n')[source]

Bases: object

channels(all=True)[source]

Return a dictionary of the channels supported by this scope and whether they are currently displayed. Includes REF and MATH channels if applicable. If “all” is False, only visible channels are returned

close()[source]
get_acquire_state()[source]
get_screenshot(verbose=False)[source]
lock(verbose=False)[source]
save_screenshot(filepath, verbose=False)[source]
set_acquire_state(running=True)[source]
set_date_time(verbose=False)[source]
unlock(verbose=False)[source]
waveform(channel='CH1', preamble_string='WFMO', int16=False)[source]

Download the waveform of the specified channel from the oscilloscope. All acquired points are downloaded, as set by the ‘Record length’ setting in the ‘Acquisition’ menu. A dictionary of waveform formatting parameters is returned in addition to the times and values.