ekpy.control.instruments.berkeleynucleonics765 package

Submodules

ekpy.control.instruments.berkeleynucleonics765.core module

ekpy.control.instruments.berkeleynucleonics765.core.check_errors(pg)
ekpy.control.instruments.berkeleynucleonics765.core.clear_errors(pg, max_iterations: int = 10)
ekpy.control.instruments.berkeleynucleonics765.core.get_pulse_mode(pg, channel: str)

Return ‘single’, ‘double’, ‘triple’, ‘quadruple’

ekpy.control.instruments.berkeleynucleonics765.core.initialize_2pulse(pg, polarity='up', channel='1', pulsewidth='10e-9', delay='10e-9', low_voltage='0', high_voltage='4.8')

Initialize BN765 for application of 2 pulse sequence. Pulses are positive polarity, and identical (as defined by low and high voltage) with given delay between pulses.

Parameters
  • pg – (pyvisa.resources.ENET-Serial INSTR): BN765

  • channel (str) – Specify output channel. ‘1’ or ‘2’.

  • pulsewidth (str) – Pulsewidth in scientific notation.

  • delay (str) – Delay between pulses in scientific notation.

  • low_voltage (str) – Low voltage in units of volts.

  • high_voltage (str) – High voltage in units of volts.

ekpy.control.instruments.berkeleynucleonics765.core.initialize_pulse(inst, channel='1', *args, **kwargs)

Initializes the pulse generator for application of a single pulse which will output a pulse on manual trigger.

Parameters
  • inst (pyvisa.resources.ENET-Serial INSTR) – Berkeley Nucleonics 765

  • channel (str) – Output channel.

ekpy.control.instruments.berkeleynucleonics765.core.initialize_trig(pg, pulsen, channel='2', pulsewidth='10e-9', delay='10e-9', low_voltage='0', high_voltage='1')

Initialize a channel for use as a trigger. This is used in conjunction with, for example, initialize_2pulse, so we can output a trigger pulse from the other channel in order to properly time the scope for acquisition. We can do this for any of the pulse n (in the case of 2 pulses one can send a trigger pulse synced to pulse 1 or 2).

Parameters
  • pg (pyvisa.resources.ENET-Serial INSTR) – BN765

  • pulsen (int) – Specify which pulse number to ready a trigger pulse (1 or 2)

  • channel (str) – Specify a channel for trigger output.

  • pulsewidth (str) – Pulsewidth of the triggr pulse in scientific notation. This should match your stimulus pulsewidth.

  • delay (str) – Delay in scientific notation. This should match your stimulus delay.

  • low_voltage (str) – Low voltage of trigger pulse in Volts.

  • high_voltage (str) – High voltage of trigger pulse in Volts.

ekpy.control.instruments.berkeleynucleonics765.core.manual_trigger(pg)

Trigger BN765 to apply whatever pulse configuration is set.

Parameters

pg (pyvisa.resources.ENET-Serial INSTR) – Berkeley Nucleonics 765

ekpy.control.instruments.berkeleynucleonics765.core.set_channel_off(pg, channel: str = 'Ch1')
ekpy.control.instruments.berkeleynucleonics765.core.set_channel_on(pg, channel: str = 'Ch1')
ekpy.control.instruments.berkeleynucleonics765.core.set_high_voltage(pg, high_voltage: str, channel: str = 'Ch1')

docstring

ekpy.control.instruments.berkeleynucleonics765.core.set_low_voltage(pg, low_voltage: str, channel: str = 'Ch1')

docstring

ekpy.control.instruments.berkeleynucleonics765.core.set_polarity(pg, inverted: bool = False, channel: str = 'Ch1')

docstring

ekpy.control.instruments.berkeleynucleonics765.core.set_pulse_delay(pg, delay: str, pulse_count: int = 1, channel: str = 'Ch1')

docstring

ekpy.control.instruments.berkeleynucleonics765.core.set_pulse_mode(pg, pulse_mode: str, channel: str = 'Ch1')

docstring

ekpy.control.instruments.berkeleynucleonics765.core.set_pulse_width(pg, pulsewidth: str, pulse_count: int = 1, channel: str = 'Ch1')

docstring

ekpy.control.instruments.berkeleynucleonics765.core.set_trigger_input_slope(pg, _type: str)
ekpy.control.instruments.berkeleynucleonics765.core.set_trigger_input_threshold(pg, threshold_voltage: str)
ekpy.control.instruments.berkeleynucleonics765.core.set_trigger_mode(pg, _mode: str)
ekpy.control.instruments.berkeleynucleonics765.core.set_trigger_source(pg, _type: str)
ekpy.control.instruments.berkeleynucleonics765.core.single_pulse_SCPI(pulsewidth, updown, high_voltage, low_voltage, channel='1', *args, **kwargs)

Returns SCPI string that can be written to the pulse generator to put it in the correct state to apply a single pulse.

Parameters
  • pulsewidth (str) – Pulsewidth. i.e. ‘10ns’ allowed units {ns, us, ms, s}

  • updown (str) – Specify polarity. ‘up’ or ‘down’.

  • high_voltage (str) – High voltage of pulse. i.e. ‘1000mv’ allowed units {V, mv}

  • low_voltage (str) – Low voltage of pulse. i.e. ‘-1000mv’ allowed units {V, mv}

  • channel (str) – Specify the output channel. ‘1’ or ‘2’

ekpy.control.instruments.berkeleynucleonics765.core.start(pg)
ekpy.control.instruments.berkeleynucleonics765.core.stop(pg)

Stop the BN765.

Parameters

pg (pyvisa.resources.ENET-Serial INSTR) – BN765

ekpy.control.instruments.berkeleynucleonics765.core.symmetric_up_down_SCPI(pulsewidth, amplitude, offset='0mv', channel='1', *args, **kwargs)

Return a tuple of two SCPI strings. The first, an up SCPI string (from single_pulse_SCPI) and the second down. The strings describe symmetric pulses.

Parameters
  • pulsewidth (str) – Pulsewidth. allowed units {‘ns’, ‘us’, ‘ms’, ‘s’}.

  • amplitude (str) – Amplitude. allowed units {mv, v}.

  • offset (str) – Offset. allowed units {mv, v}.

  • channel (str) – Specify channel. ‘1’ or ‘2’

Module contents