qcodes_contrib_drivers.drivers.Keysight package

Subpackages

Submodules

qcodes_contrib_drivers.drivers.Keysight.Keysight_E36313A module

class qcodes_contrib_drivers.drivers.Keysight.Keysight_E36313A.E36313A(*args: Any, **kwargs: Any)[source]

Bases: VisaInstrument

This is the qcodes driver for the Keysight E36313A programmable DC power supply

get_idn()[source]

Parse a standard VISA *IDN? response into an ID dict.

Even though this is the VISA standard, it applies to various other types as well, such as IPInstruments, so it is included here in the Instrument base class.

Override this if your instrument does not support *IDN? or returns a nonstandard IDN string. This string is supposed to be a comma-separated list of vendor, model, serial, and firmware, but semicolon and colon are also common separators so we accept them here as well.

Returns:

A dict containing vendor, model, serial, and firmware.

class qcodes_contrib_drivers.drivers.Keysight.Keysight_E36313A.E36313AChannel(parent: Instrument, name: str, chan: int)[source]

Bases: InstrumentChannel

__init__(parent: Instrument, name: str, chan: int) None[source]
Parameters:
  • parent – The instrument to which the channel is

  • attached.

  • name – The name of the channel

  • chan – The number of the channel in question (1-3)

qcodes_contrib_drivers.drivers.Keysight.Keysight_E5080B module

class qcodes_contrib_drivers.drivers.Keysight.Keysight_E5080B.KeySight_E5080B(*args: Any, **kwargs: Any)[source]

Bases: VisaInstrument

Qcodes driver for the Keysight E5080B Vector Network Analyzer

get_data()[source]

Retrieve the complex measurement data

get_frequencies()[source]

return freqpoints

accept_trigger_before_armed: Parameter = self.add_parameter( "accept_trigger_before_armed", label="Accept Trigger Before Armed", get_cmd="CONT:SIGN:TRIG:ATBA?", set_cmd="CONT:SIGN:TRIG:ATBA {}", val_mapping=create_on_off_val_mapping(on_val=1, off_val=0), )

Accept Trigger Before Armed

averages_count: Parameter = self.add_parameter( "averages_count", label="Averages Count", get_cmd="SENS:AVER:COUN?", get_parser=int, set_cmd="SENS:AVER:COUN {:d}", vals=Numbers(min_value=1, max_value=65536), )

Parameter averages count

averages_enabled: Parameter = self.add_parameter( "averages_enabled", label="Averages Enabled", get_cmd="SENS:AVER?", set_cmd="SENS:AVER {}", val_mapping=create_on_off_val_mapping(on_val="1", off_val="0"), )

Parameter averages_enabled

averages_mode: Parameter = self.add_parameter( "averages_mode", label="Averages Mode", get_cmd="SENS:AVER:MODE?", set_cmd="SENS:AVER:MODE {}", vals=Enum("POIN", "SWE"), )

Parameter averages mode

center_freq: Parameter = self.add_parameter( "center_freq", label="Center Frequency", get_cmd="SENS:FREQ:CENT?", get_parser=float, set_cmd="SENS:FREQ:CENT {}", unit="Hz", vals=Numbers(min_value=min_freq, max_value=max_freq), )

Parameter center_freq

cw: Parameter = self.add_parameter( "cw", label="CW Frequency", get_cmd="SENS:FREQ:CW?", get_parser=float, set_cmd="SENS:FREQ:CW {}", unit="Hz", )

Parameter Continuous wave

format_border: Parameter = self.add_parameter( "format_border", label="Format Border", get_cmd="FORM:BORD?", set_cmd="FORM:BORD {}", vals=Enum("NORM", "SWAP"), )

Parameter Format Border

format_data: Parameter = self.add_parameter( "format_data", label="Format Data", get_cmd="FORM:DATA?", set_cmd="FORM:DATA {}", vals=Enum("REAL,32", "REAL,64", "ASCii,0"), )

Parameter averages mode

if_bandwidth: Parameter = self.add_parameter( "if_bandwidth", label="if_bandwidth", unit="Hz", get_cmd="SENS:BWID?", set_cmd="SENS:BWID {}", get_parser=float, vals=Numbers(min_value=1, max_value=15e6), )

Parameter if_bandwidth

operation_status: Parameter = self.add_parameter( "operation_status", label="Operation Status", get_cmd="STAT:OPER:COND?", get_parser=int, )

Status Operation

points: Parameter = self.add_parameter( "points", label="Points", get_cmd="SENS:SWE:POIN?", get_parser=int, set_cmd="SENS:SWE:POIN {}", unit="", vals=Numbers(min_value=1, max_value=100003), )

Parameter points

rf_on: Parameter = self.add_parameter( "rf_on", label="RF ON", get_cmd="OUTP?", set_cmd="OUTP {}", val_mapping=create_on_off_val_mapping(on_val="1", off_val="0"), )

Parameter RF Power Source

scattering_parameter: Parameter = self.add_parameter( "scattering_parameter", label="scattering_parameter", get_cmd="CALC:MEAS:PAR?", set_cmd="CALC:MEAS:PAR {}", vals=vals.Enum("S11", "S12", "S21", "S22"), )

Parameter scattering_parameter

source_power: Parameter = self.add_parameter( "source_power", label="source_power", unit="dBm", get_cmd="SOUR:POW?", set_cmd="SOUR:POW {}", get_parser=float, vals=Numbers(min_value=-100, max_value=20), )

Parameter source_power

span: Parameter = self.add_parameter( "span", label="Frequency Span", get_cmd="SENS:FREQ:SPAN?", get_parser=float, set_cmd="SENS:FREQ:SPAN {}", unit="Hz", )

Parameter span

start_freq: Parameter = self.add_parameter( "start_freq", label="Start Frequency", get_cmd="SENS:FREQ:STAR?", get_parser=float, set_cmd="SENS:FREQ:STAR {}", unit="Hz", vals=Numbers(min_value=min_freq, max_value=max_freq), )

Parameter start_freq

stop_freq: Parameter = self.add_parameter( "stop_freq", label="Stop Frequency", get_cmd="SENS:FREQ:STOP?", get_parser=float, set_cmd="SENS:FREQ:STOP {}", unit="Hz", vals=Numbers(min_value=min_freq, max_value=max_freq), )

Parameter stop_freq

sweep_group_count: Parameter = self.add_parameter( "sweep_group_count", label="sweep_group_count", get_cmd="SENS:SWE:GRO:COUN?", set_cmd="SENS:SWE:GRO:COUN {}", get_parser=int, vals=Numbers(min_value=1, max_value=2e6), )

Parameter sweep_group_count

sweep_mode: Parameter = self.add_parameter( "sweep_mode", label="Type", get_cmd="SENS:SWE:MODE?", set_cmd="SENS:SWE:MODE {}", vals=Enum("HOLD", "CONT", "GRO", "SING"), )

Parameter sweep_mode

sweep_time: Parameter = self.add_parameter( "sweep_time", label="sweep_time", unit="s", get_parser=float, get_cmd="SENS:SWE:TIME?", set_cmd="SENS:SWE:TIME {}", )

Parameter sweep_time

sweep_time_auto: Parameter = self.add_parameter( "sweep_time_auto", label="sweep_time_auto", get_parser=float, get_cmd="SENS:SWE:TIME:AUTO?", set_cmd="SENS:SWE:TIME:AUTO {}", val_mapping=create_on_off_val_mapping(on_val=1, off_val=0), )

Parameter sweep_time_auto

sweep_type: Parameter = self.add_parameter( "sweep_type", label="Type", get_cmd="SENS:SWE:TYPE?", set_cmd="SENS:SWE:TYPE {}", vals=Enum("LIN", "LOG", "POW", "CW", "SEGM"), )

Parameter sweep_type

trigger_slope: Parameter = self.add_parameter( "trigger_slope", label="Trigger Slope", get_cmd="TRIG:SLOP?", set_cmd="TRIG:SLOP {}", vals=Enum("POS", "NEG"), )

Trigger Slope

trigger_source: Parameter = self.add_parameter( "trigger_source", label="Trigger Source", get_cmd="TRIG:SOUR?", set_cmd="TRIG:SOUR {}", vals=Enum("EXT", "IMM", "MAN"), )

Trigger Source

trigger_type: Parameter = self.add_parameter( "trigger_type", label="Trigger Type", get_cmd="TRIG:TYPE?", set_cmd="TRIG:TYPE {}", vals=Enum("EDGE", "LEV"), )

Trigger Type

qcodes_contrib_drivers.drivers.Keysight.Keysight_E8267D module

class qcodes_contrib_drivers.drivers.Keysight.Keysight_E8267D.Keysight_E8267D(*args: Any, **kwargs: Any)[source]

Bases: VisaInstrument

This is the qcodes driver for the Keysight_E8267D signal generator

Status: beta-version.

TODO: - Add all parameters that are in the manual

This driver will most likely work for multiple Agilent sources.

This driver does not contain all commands available for the E8527D but only the ones most commonly used.

static deg_to_rad(angle_deg)[source]

Convert degrees to radians.

off()[source]

Turn the RF output off.

on()[source]

Turn the RF output on.

static rad_to_deg(angle_rad)[source]

Convert radians to degrees.

qcodes_contrib_drivers.drivers.Keysight.Keysight_J7211 module

class qcodes_contrib_drivers.drivers.Keysight.Keysight_J7211.Keysight_J7211(*args: Any, **kwargs: Any)[source]

Bases: VisaInstrument

Qcodes driver for the Keysight J7211 Attenuation Control Unit. Tested with J7211B.

Parameters:
  • name – Instrument name

  • address – Address or VISA alias of instrument

  • attenuation – Optional attenuation level (in dB) to set on startup

  • terminator – Termination character in VISA communication.

qcodes_contrib_drivers.drivers.Keysight.Keysight_M3201A module

class qcodes_contrib_drivers.drivers.Keysight.Keysight_M3201A.Keysight_M3201A(*args: Any, **kwargs: Any)[source]

Bases: SD_AWG

This is the qcodes driver for the Keysight M3201A AWG PXIe card

Parameters:
  • name (str) – name for this instrument, passed to the base instrument

  • chassis (int) – chassis number where the device is located

  • slot (int) – slot number where the device is plugged in

qcodes_contrib_drivers.drivers.Keysight.Keysight_M3300A module

class qcodes_contrib_drivers.drivers.Keysight.Keysight_M3300A.M3300A_AWG(*args: Any, **kwargs: Any)[source]

Bases: SD_AWG

Driver for the AWG of the Keysight M3300A card.

Parameters:
  • name (str) – name for this instrument, passed to the base instrument

  • chassis (int) – chassis number where the device is located

  • slot (int) – slot number where the device is plugged in

Example

AWG = AWG(‘M3300A’)

class qcodes_contrib_drivers.drivers.Keysight.Keysight_M3300A.M3300A_DIG(*args: Any, **kwargs: Any)[source]

Bases: SD_DIG

Driver for the digitizer of the keysight M3300A card.

Parameters:
  • name (str) – name for this instrument, passed to the base instrument

  • chassis (int) – chassis number where the device is located

  • slot (int) – slot number where the device is plugged in

Example

DIG = DIG(‘M3300A’)

qcodes_contrib_drivers.drivers.Keysight.M3202A module

class qcodes_contrib_drivers.drivers.Keysight.M3202A.M3202A(*args: Any, **kwargs: Any)[source]

Bases: SD_AWG_Async

qcodes driver for the Keysight M3202A AWG PXIe card.

M3202A channel numbers start with 1.

This driver is derived from SD_AWG_Async which uses a thread per module to upload waveforms concurrently. The sychronous methods like load_waveform are not available in this class.

Example

awg1 = M3202A(‘awg1’, 0, 2) ref_1 = awg1.upload_waveform(wave1)

trigger_mode = keysightSD1.SD_TriggerModes.EXTTRIG awg1.awg_queue_waveform(1, ref_1, trigger_mode, 0, 1, 0)

If you want to test M3202A based on the synchronous SD_AWG, then you can instantiate SD_AWG directly. .. rubric:: Example

m3202a_sync = SD_AWG(name, chassis, slot, channels=4, triggers=8,

legacy_channel_numbering=False)

Parameters:
  • name – name for this instrument, passed to the base instrument

  • chassis – chassis number where the device is located

  • slot – slot number where the device is plugged in

Module contents