Output API#
IOChannel#
The IOChannel module is responsible for adding the parameters of a single digital in/output within a module.
- class qblox_instruments.qcodes_drivers.io_channel.IOChannel(parent: Instrument | InstrumentChannel, name: str, io_channel_idx: int)[source]#
Bases:
Component
This class represents a single IO channel. It combines all IO channel specific parameters and functions into a single QCoDes InstrumentChannel.
- __init__(parent: Instrument | InstrumentChannel, name: str, io_channel_idx: int)[source]#
Creates a IO channel class and adds all relevant parameters for the IO channel.
Cluster QTM IOChannel parameters#
- IOChannel.out_mode()#
Sets/gets the output function of the I/O Port for the givenchannel (‘disabled’ = port is in 50Ohm mode, ‘low’ = the port drives low-impedance 0V, ‘high’ = the port drives low-impedance ~3.3V)
- Properties:
value: <Enum: {‘high’, ‘disabled’, ‘sequencer’, ‘low’}>
- IOChannel.in_threshold_primary()#
Sets/gets the primary threshold voltage used for digitization of the input signal on the given channel
- Properties:
unit: V
value: <Numbers>
- IOChannel.binned_acq_time_source()#
Sets/gets the timetag data source for acquisitions made on this channel using the acquire_timetags instruction
- Properties:
value: <Enum: {‘last’, ‘second’, ‘first’}>
- IOChannel.binned_acq_time_ref()#
Sets/gets the time reference that the timetag recorded for each acquire_timetags instruction is recorded in relation to
- Properties:
value: <Enum: {‘first7’, ‘end’, ‘first2’, ‘first3’, ‘first4’, ‘start’, ‘first’, ‘first5’, ‘sequencer’, ‘first1’, ‘first6’, ‘first0’}>
- IOChannel.binned_acq_on_invalid_time_delta()#
Sets/gets averaging and binning logic behaviour if/when no valid time delta is available, typically because no event occurred in the window
- Properties:
value: <Enum: {‘error’, ‘discard’, ‘record_0’}>
- IOChannel.binned_acq_threshold_source()#
Sets/gets the data source of the threshold recorded by acquire timetags
- Properties:
value: <Enum: {‘thresh0’, ‘thresh1’}>
- IOChannel.current_in_level()#
Gets the current level of the input. Returns 0 if the input level is below in_threshold_primary, or 1 if it’s aboveacquire timetags
- Properties:
value: <Ints 0<=v<=1>
- IOChannel.in_counter_mode()#
Sets/gets the manual control over the counter gate
- Properties:
value: <Enum: {‘enabled’, ‘disabled’, ‘sequencer’}>
- IOChannel.in_counter_rising()#
Gets the raw value of the hardware rising-edge counter
- Properties:
value: <Ints>
- IOChannel.in_counter_falling()#
Gets the raw value of the hardware falling-edge counter
- Properties:
value: <Ints>
- IOChannel.in_trigger_en()#
Sets/gets the enable that controls sending triggers to the trigger network automatically or based on direct sampling of the inputs. The mode is configured by in_trigger_mode, and the address by in_trigger_address
- Properties:
value: <Boolean>
- IOChannel.in_trigger_mode()#
Sets/gets which event causes a trigger to be sent if in_trigger_en is enabled
- Properties:
value: <Enum: {‘sampled-low’, ‘sampled-high’, ‘falling’, ‘rising’}>
- IOChannel.in_trigger_address()#
Sets/gets which event causes a trigger to be sent if in_trigger_en is enabled
- Properties:
value: <Ints 1<=v<=15>
- IOChannel.scope_trigger_mode()#
Sets/gets how the scope/trace unit for this channel is triggered is enabled
- Properties:
value: <Enum: {‘external’, ‘sequencer’}>
- IOChannel.scope_trigger_level()#
Sets/gets how the scope/trace unit for this channel is triggered is enabled
- Properties:
value: <Enum: {‘high’, ‘falling’, ‘rising’, ‘any’, ‘low’}>
- IOChannel.scope_mode()#
Sets/gets what type of data is traced when the scope/trace unit for this channel is triggered
- Properties:
value: <Enum: {‘timetags’, ‘timetags-windowed’, ‘scope’}>
- IOChannel.thresholded_acq_trigger_en()#
Sets/gets whether the thresholded acquisition result of acquire_timetags is mapped to the trigger network for feedback purposes
- Properties:
value: <Boolean>
- IOChannel.thresholded_acq_trigger_address_low()#
Sets/gets whether a trigger is to be sent and which trigger address is to be used when the result is low
- Properties:
value: <Ints 0<=v<=15>
- IOChannel.thresholded_acq_trigger_address_mid()#
Sets/gets whether a trigger is to be sent and which trigger address is to be used when the result is mid
- Properties:
value: <Ints 0<=v<=15>
- IOChannel.thresholded_acq_trigger_address_high()#
Sets/gets whether a trigger is to be sent and which trigger address is to be used when the result is high
- Properties:
value: <Ints 0<=v<=15>
- IOChannel.thresholded_acq_trigger_address_invalid()#
Sets/gets whether a trigger is to be sent and which trigger address is to be used when the result is invalid
- Properties:
value: <Ints 0<=v<=15>
- IOChannel.get_scope_data() Dict
Returns the QTM I/O channel scope data for the given slot and channel acquired since the previous call.
- Returns:
The acquired data. Empty if no data acquired since last call.
- Return type:
- Raises:
NotImplementedError – Functionality not available on this module.
Note
This method calls Cluster.get_scope_data using functools.partial to set the slot index. The docstring above is of Cluster.get_scope_data:
Note
This method calls Module.get_scope_data using functools.partial to set the IO channel index. The docstring above is of Module.get_scope_data:
Quad#
The Quad module is responsible for adding the parameters of a group of four digital in/output channels (quad) within a module.
- class qblox_instruments.qcodes_drivers.quad.Quad(parent: Instrument | InstrumentChannel, name: str, quad_idx: int)[source]#
Bases:
Component
This class represents a single quad. It combines all quad specific parameters and functions into a single QCoDes InstrumentChannel.
- __init__(parent: Instrument | InstrumentChannel, name: str, quad_idx: int)[source]#
Creates a quad class and adds all relevant parameters for the quad.
Cluster QTM Quad parameters#
- Quad.timetag_oversampling()#
Sets/gets the timetag oversampling setting of all channels in the given quad (‘disabled’ = no oversampling, ‘2x’ = events are sampled by the converter twice with a typical single-shot RMS of 15 ps, ‘4x’ = events are sampled by the converter four times with a typical single-shot RMS of 10 ps)
- Properties:
value: <Enum: {‘x2’, ‘disabled’, ‘x4’}>
- Quad.tdc_latency()#
Sets/gets the Latency of the TDC-capable input path in the given quad. Lower values decrease the feedback latency.
- Properties:
unit: ns
value: <Numbers>
- Quad.channel_combine()#
Sets/gets the Latency of the TDC-capable input path in the given quad. Lower values decrease the feedback latency.
- Properties:
value: <Enum: {‘fan-out’, ‘independent’}>