3.3. qupulse.hardware

Contains drivers for AWG control and digitizer configuration as well as a unifying interface to all instruments: HardwareSetup

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: str) None[source]

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

clear_programs() None[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.

property known_awgs: Set[qupulse.hardware.awgs.base.AWG]
property known_dacs: Set[qupulse.hardware.dacs.dac_base.DAC]
register_program(name: str, program: qupulse.program.loop.Loop, run_callback=<function HardwareSetup.<lambda>>, update=False) None[source]
registered_channels() Dict[Union[str, int], Set[qupulse.hardware.setup._SingleChannel]][source]
property registered_programs: Dict[str, qupulse.hardware.setup.RegisteredProgram]
remove_program(name: str)[source]
rm_channel(identifier: Union[str, int]) None[source]
run_program(name) None[source]

Calls arm program and starts it using the run callback

set_channel(identifier: Union[str, int], single_channel: Union[qupulse.hardware.setup._SingleChannel, Iterable[qupulse.hardware.setup._SingleChannel]], allow_multiple_registration: bool = False) None[source]
set_measurement(measurement_name: str, measurement_mask: Union[qupulse.hardware.setup.MeasurementMask, Iterable[qupulse.hardware.setup.MeasurementMask]], allow_multiple_registration: bool = False)[source]
update_parameters(name: str, parameters: Mapping[str, numbers.Real])[source]

Modules

qupulse.hardware.awgs

qupulse.hardware.dacs

qupulse.hardware.feature_awg

qupulse.hardware.setup

qupulse.hardware.util