Skip to content

Basic connection tables (with no outputs) do not compile #15

Open
@philipstarkey

Description

@philipstarkey

Original report (archived issue) by Philip Starkey (Bitbucket: pstarkey, GitHub: philipstarkey).


Take this simple connection table:

#!python

from labscript import *
from labscript_devices.PineBlaster import PineBlaster
from labscript_utils.unitconversions import *
from labscript_devices.NI_PCI_6733 import NI_PCI_6733

PineBlaster(name='pineblaster_0', trigger_device = None, trigger_connection = None, usbport='com6')
NI_PCI_6733(name='ni_card_1', parent_device=pineblaster_0.clockline, clock_terminal='ni_pcie_6733_0/PFI0', MAX_name='ni_pci_6733_0')

start()
stop(1)

This produces the traceback

#!python

Traceback (most recent call last):
File "C:\user_scripts\labscriptlib\example_experiment\connectiontable.py", line 8, in <module>
stop(0.1)
File "C:\pythonlib\labscript\labscript.py", line 1772, in stop
generate_code()
File "C:\pythonlib\labscript\labscript.py", line 1686, in generate_code
device.generate_code(hdf5_file)
File "C:\pythonlib\labscript_devices\PineBlaster.py", line 76, in generate_code
PseudoclockDevice.generate_code(self, hdf5_file)
File "C:\pythonlib\labscript\labscript.py", line 763, in generate_code
Device.generate_code(self, hdf5_file)
File "C:\pythonlib\labscript\labscript.py", line 276, in generate_code
device.generate_code(hdf5_file)
File "C:\pythonlib\labscript\labscript.py", line 659, in generate_code
Device.generate_code(self, hdf5_file)
File "C:\pythonlib\labscript\labscript.py", line 276, in generate_code
device.generate_code(hdf5_file)
File "C:\pythonlib\labscript\labscript.py", line 276, in generate_code
device.generate_code(hdf5_file)
File "C:\pythonlib\labscript_devices\NI_PCI_6733.py", line 31, in generate_code
parent.NIBoard.generate_code(self, hdf5_file)
File "C:\pythonlib\labscript_devices\NIBoard.py", line 56, in generate_code
times = pseudoclock.times[clockline]
KeyError: <labscript.labscript.ClockLine object at 0x07153530>

Adding two AnalogOuts to the connection table allows it to be successfully compiled.

We should fix this, but we also need to make sure that BLACS isn't going to get upset if an experiment is submitted with a device that has no outputs.

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't workingminor

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions