Pineblaster

This labscript device controls the PineBlaster open-source digital pattern generator based on the Digilent chipKIT Max32 Prototyping platform.

Detailed Documentation

class labscript_devices.PineBlaster.PineBlaster(name, trigger_device=None, trigger_connection=None, usbport='COM1')[source]

Bases: PseudoclockDevice

Instantiates a pseudoclock device.

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

  • trigger_device (DigitalOut) – Sets the parent triggering output. If None, this is considered the master pseudoclock.

  • trigger_connection (str, optional) – Must be provided if trigger_device is provided. Specifies the channel of the parent device.

  • **kwargs – Passed to TriggerableDevice.__init__().

add_device(device)[source]

Adds a child device to this device.

Parameters:

device (Device) – Device to add.

Raises:

LabscriptError – If device is not an allowed child of this device.

allowed_children = [<class 'labscript_devices.PineBlaster.PineBlasterPseudoclock'>]

Defines types of devices that are allowed to be children of this device.

Type:

list

clock_limit = 10000000.0
clock_resolution = 2.5e-08
clock_type = 'fast clock'
property clockline
description = 'PineBlaster'

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.

max_instructions = 15000
property pseudoclock
trigger_delay = 3.5e-07
wait_delay = 2.5e-06
class labscript_devices.PineBlaster.PineBlasterPseudoclock(name, pseudoclock_device, connection, **kwargs)[source]

Bases: Pseudoclock

Creates a Pseudoclock.

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

  • pseudoclock_device (PseudoclockDevice) – Parent pseudoclock device

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

  • **kwargs – Passed to Device().

add_device(device)[source]

Adds a child device to this device.

Parameters:

device (Device) – Device to add.

Raises:

LabscriptError – If device is not an allowed child of this device.

class labscript_devices.PineBlaster.PineblasterTab(notebook, settings, restart=False)[source]

Bases: DeviceTab

get_child_from_connection_table(parent_device_name, port)[source]
initialise_GUI()[source]
labscript_device_class_name = 'PineBlaster'
start_run(*args, **kwargs)
status_monitor(*args, **kwargs)
class labscript_devices.PineBlaster.PineblasterWorker(*args, **kwargs)[source]

Bases: Worker

abort()[source]
abort_buffered()[source]
abort_transition_to_buffered()[source]
init()[source]
program_manual(values)[source]
shutdown()[source]
start_run()[source]
status_monitor()[source]
transition_to_buffered(device_name, h5file, initial_values, fresh)[source]
transition_to_manual()[source]
class labscript_devices.PineBlaster.RunviewerClass(path, device)[source]

Bases: object

clock_resolution = 2.5e-08
clock_type = 'fast clock'
get_traces(add_trace, clock=None)[source]
labscript_device_class_name = 'PineBlaster'
trigger_delay = 1e-06
wait_delay = 2.5e-06