3.1.1. qupulse.hardware package

3.1.1.2. Submodules

3.1.1.3. qupulse.hardware.setup module

class qupulse.hardware.setup.PlaybackChannel(awg, channel_on_awg, voltage_transformation=<function PlaybackChannel.<lambda>>)[source]

Bases: qupulse.hardware.setup._SingleChannel

A hardware channel that is not a marker

voltage_transformation = None

A transformation that is applied to the pulses on the channel. One use case is to scale up the voltage if an amplifier is inserted.

class qupulse.hardware.setup.MarkerChannel(awg, channel_on_awg)[source]

Bases: qupulse.hardware.setup._SingleChannel

A hardware channel that can only take two values

class qupulse.hardware.setup.HardwareSetup[source]

Bases: object

Representation of the hardware setup.

The class takes an instruction block, forms it into possibly channel dependent programs and registers the programs at the AWGs which modify their program to fit to their capabilities. The class also extracts the measurement windows(with absolute times) and hands them over to the DACs which will do further processing.

arm_program(name)[source]

Assert program is in memory. Hardware will wait for trigger event

Return type:None
clear_programs()[source]

Clears all programs from all known AWG and DAC devices.

Does not affect channel configurations or measurement masks set by set_channel or set_measurement.

Return type:None
known_awgs
Return type:Set[AWG]
known_dacs
Return type:Set[DAC]
register_program(name, instruction_block, run_callback=<function HardwareSetup.<lambda>>, update=False)[source]
Return type:None
registered_channels()[source]
Return type:Dict[Union[str, int], Set[_SingleChannel]]
registered_programs
Return type:Dict[str, RegisteredProgram]
remove_program(name)[source]
rm_channel(identifier)[source]
Return type:None
run_program(name)[source]

Calls arm program and starts it using the run callback

Return type:None
set_channel(identifier, single_channel, allow_multiple_registration=False)[source]
Return type:None
set_measurement(measurement_name, measurement_mask, allow_multiple_registration=False)[source]

3.1.1.4. qupulse.hardware.util module

qupulse.hardware.util.voltage_to_uint16(voltage, output_amplitude, output_offset, resolution)[source]
Parameters:
  • voltage (ndarray) –
  • output_amplitude (float) –
  • output_offset (float) –
  • resolution (int) –
Return type:

ndarray

Returns:

3.1.1.5. Module contents

class qupulse.hardware.HardwareSetup[source]

Bases: object

Representation of the hardware setup.

The class takes an instruction block, forms it into possibly channel dependent programs and registers the programs at the AWGs which modify their program to fit to their capabilities. The class also extracts the measurement windows(with absolute times) and hands them over to the DACs which will do further processing.

arm_program(name)[source]

Assert program is in memory. Hardware will wait for trigger event

Return type:None
clear_programs()[source]

Clears all programs from all known AWG and DAC devices.

Does not affect channel configurations or measurement masks set by set_channel or set_measurement.

Return type:None
known_awgs
Return type:Set[AWG]
known_dacs
Return type:Set[DAC]
register_program(name, instruction_block, run_callback=<function HardwareSetup.<lambda>>, update=False)[source]
Return type:None
registered_channels()[source]
Return type:Dict[Union[str, int], Set[_SingleChannel]]
registered_programs
Return type:Dict[str, RegisteredProgram]
remove_program(name)[source]
rm_channel(identifier)[source]
Return type:None
run_program(name)[source]

Calls arm program and starts it using the run callback

Return type:None
set_channel(identifier, single_channel, allow_multiple_registration=False)[source]
Return type:None
set_measurement(measurement_name, measurement_mask, allow_multiple_registration=False)[source]