PicoPulse module

This module interfaces with the pico-pulse sequence synthesizer device.

class PicoPulse.PicoPulse(rm, addr, pinoutName=None, configFile=PosixPath('Config/PicoPulse.json'))[source]

Bases: object

Driver for the pico-pulse sequence synthesizer.

Parameters:
  • rm (pyvisa.ResourceManager) – Pass a pyvisa ResourceManager object to use for opening the device.

  • addr (str) – VISA address of the pico-pulse device.

  • pinoutName (str, optional) – Name of the config file entry for the device’s pin layout.

  • configFile (Path, default: Config/PicoPulse.json)

sendSequence(seq, **kwargs)[source]

Encode a sequence and transmit it to the pico-pulse.

Parameters:
  • seq (pandas.DataFrame) – Sequence to be encoded. Should have at least one column from ‘ch1’ to ‘ch5’, or the mapped pins.

  • cycle (bool, default : False) – Whther the timing is given in CPU cycles rather than ns. True is CPU cycles, False is ns.

  • innerLoop (int, default : 0) – Numer of times the sequence should be copied into the transmit buffer. Helps with short sequences. A value of 0 will instruct the pico-pulse device to fill the entire buffer with copies.

  • outerLoop (int, default: None) – Numer of times the pico-pulse should repeat the sequence. A value of None will instruct it to repeat the sequence indefinitely.