HP 8116A 50 MHz Pulse/Function Generator

class pymeasure.instruments.hp.HP8116A(adapter, name='Hewlett-Packard 8116A', **kwargs)

Bases: Instrument

Represents the Hewlett-Packard 8116A 50 MHz Pulse/Function Generator and provides a high-level interface for interacting with the instrument. The resolution for all floating point instrument parameters is 3 digits.

class Digit(value, names=None, *, module=None, qualname=None, type=None, start=1, boundary=None)

Bases: Enum

Enum of the digits used with the autovernier (see HP8116A.start_autovernier()).

class Direction(value, names=None, *, module=None, qualname=None, type=None, start=1, boundary=None)

Bases: Enum

Enum of the directions used with the autovernier (see HP8116A.start_autovernier()).

GPIB_trigger()

Initiate trigger via low-level GPIB-command (aka GET - group execute trigger).

property amplitude

Control the amplitude of the output in V (strict float from 10e-3 to 16). The allowed amplitude range is also limited by the current offset.

ask(command, num_bytes=None)

Write a command to the instrument, read the response, and return the response as ASCII text.

Parameters
  • command – The command to send to the instrument.

  • num_bytes – The number of bytes to read from the instrument. If not specified, the number of bytes is automatically determined by the command.

property autovernier_enabled

Control whether the autovernier is enabled (bool).

property burst_number

Control the number of periods generated in a burst (strict int from 1 to 1999). It is only valid for units with Option 001 in one of the burst modes.

check_errors()

Check for errors in the 8116A.

Returns

list of error entries or empty list if no error occurred.

property complement_enabled

Control whether the complement of the signal is generated (bool).

property complete

Get whether the measurement is complete (bool).

property control_mode

Control the control mode of the instrument. Possible values are ‘off’, ‘FM’, ‘AM’, ‘PWM’, ‘VCO’.

property duty_cycle

Control the duty cycle of the output in percent (float). The allowed range generally is 10 % to 90 %, but it also depends on the current frequency. It is valid for all shapes except ‘pulse’, where pulse_width is used instead.

property frequency

Control the frequency of the output in Hz (strict float from 1e-3 to 52.5e6).

property haversine_enabled

Control whether a haversine/havertriangle signal is generated when in ‘triggered’, ‘internal_burst’ or ‘external_burst’ operating mode.

property high_level

Control the high level of the output in V (strict float from -7.9 to 8). The allowed high level range must be at least 10 mV greater than the low level.

property limit_enabled

Control whether parameter limiting is enabled (bool).

property low_level

Control the low level of the output in V (strict float from -8 to 7.9). The allowed low level range must be at least 10 mV less than the high level.

property offset

Control the offset of the output in V (strit float from -7.95 to 7.95). The allowed offset range is also limited by the amplitude.

property operating_mode

Control the operating mode of the instrument. Possible values (without Option 001) are: ‘normal’, ‘triggered’, ‘gate’, ‘external_width’. With Option 001, ‘internal_sweep’, ‘external_sweep’, ‘external_width’, ‘external_pulse’ are also available.

property options

Get the device options installed. The only possible option is 001.

property output_enabled

Control whether the output is enabled (bool).

property pulse_width

Control the pulse width in s (strict float from 8e-9 to 999e-3). The pulse width may not be larger than the period.

property repetition_rate

Control the repetition rate in s (i.e. the time between bursts) in ‘internal_burst’ mode (strict float from 20e-9 to 999e-3).

reset()

Initatiate a reset (like a power-on reset) of the 8116A.

property shape

Control the shape of the output waveform. Possible values are: ‘dc’, ‘sine’, ‘triangle’, ‘square’, ‘pulse’.

shutdown()

Gracefully close the connection to the 8116A.

start_autovernier(control, digit, direction, start_value=None)

Start the autovernier on the specified control.

Parameters
  • control – The control to change, pass as HP8116A.some_control. Allowed controls are frequency, amplitude, offset, duty_cycle, and pulse_width

  • digit – The digit to change, type: HP8116A.Digit.

  • direction – The direction in which to change the control, type: HP8116A.Direction.

  • start_value – An optional value to start the autovernier at. If not specified, the current value of the control is used.

property status

Get the status byte of the 8116A as a Status IntFlag-type enum.

property sweep_marker_frequency

Control the frequency marker in both sweep modes in Hz (strict float from 1e-3 to 52.5e6). At this frequency, the marker output switches from low to high.

property sweep_start

Control the start frequency in both sweep modes in Hz (strict float from 1e-3 to 52.5e6).

property sweep_stop

Control the stop frequency in both sweep modes in Hz (strict float from 1e-3 to 52.5e6).

property sweep_time

Control the sweep time per decade in both sweep modes in s (float). The sweep time is selectable in a 1-2-5 sequence between 10 ms and 500 s.

property trigger_slope

Control the slope the trigger triggers on. Possible values are: ‘off’, ‘positive’, ‘negative’.

write(command)

Write a command to the instrument and wait until the 8116A has interpreted it.