mahos.inst.pg.PulseStreamer#

class mahos.inst.pg.PulseStreamer(name, conf, prefix=None)#

Swabian Instruments Pulse Streamer 8/2.

Parameters:
  • channels (dict[str | bytes, int]) – mapping from channel names to indices.

  • analog.channels (list[str | bytes]) – list of channel names to represent analog output

  • analog.values (dict[str, tuple[float, float]]) – mapping from digital patterns to analog output values. If this is defined, digital pattern can be given for analog.channels. In such case, analog.channels outputs analog values after sparse D/A conversion. {“00”: [0.5, 0.5], “01”: [-0.5, 0.0]} reads as follows. When analog.channels[0] is L and analog.channels[1] is L, output A0 = 0.5 V, A1 = 0.5 V. When analog.channels[0] is L and analog.channels[1] is H, output A0 = -0.5 V, A1 = 0.0 V. It’s also possible to use more than two channels though not very practical.

  • ext_ref_clock (int) – external reference clock source. Set 10 for 10 MHz or 125 for 125 MHz. All the other values are considered disable (internal clock source is used).

  • strict (bool) – (default: True) If True, check generated data strictly. Since offset will not be allowed in strict mode, the pulse pattern data must have total length of integer multiple of 8 ns.

__init__(name, conf, prefix=None)#

Methods

__init__(name, conf[, prefix])

channels_to_ints(channels)

NOTE: if channels is a container, channels in analog_channels are excluded.

configure(params[, label])

Configure the instrument settings.

configure_blocks(blocks, freq[, ...])

Make sequence from blocks.

configure_blockseq(blockseq, freq[, ...])

Make sequence from blockseq.

get(key[, args, label])

Get an instrument setting or measurement data.

reset([label])

Reset the instrument settings.

set(key[, value, label])

Set an instrument setting or commanding value.

start([label])

Start the instrument operation.

stop([label])

Stop the instrument operation.

trigger()

issue a software trigger.

validate_blocks(blocks, freq)

validate_blockseq(blockseq, freq)