qcodes_contrib_drivers.drivers.SwabianInstruments.private package

Submodules

qcodes_contrib_drivers.drivers.SwabianInstruments.private.time_tagger module

class qcodes_contrib_drivers.drivers.SwabianInstruments.private.time_tagger.ArrayLikeValidator(min_value: float | int | floating | integer | None = None, max_value: float | int | floating | integer | None = None, shape: Sequence[int | Callable[[], int]] | None = None, valid_types: Sequence[type] | None = None)[source]

Bases: Arrays

A validator for array_like objects.

Note that validation might be expensive since conversion to ndarray takes place each time.

validate(value: _SupportsArray[dtype[Any]] | _NestedSequence[_SupportsArray[dtype[Any]]] | bool | int | float | complex | str | bytes | _NestedSequence[bool | int | float | complex | str | bytes], context: str = '') None[source]
class qcodes_contrib_drivers.drivers.SwabianInstruments.private.time_tagger.MeasurementControlMixin[source]

Bases: object

Mixin class forwarding common methods from the TimeTagger API.

clear()[source]

Forwards API method IteratorBase.clear(). See documentation there.

is_running() bool[source]

Forwards API method IteratorBase.isRunning(). See documentation there.

start()[source]

Forwards API method IteratorBase.start(). See documentation there.

start_for(duration: int, clear: bool = True)[source]

Forwards API method IteratorBase.startFor(). See documentation there.

stop()[source]

Forwards API method IteratorBase.stop(). See documentation there.

wait_until_finished(timeout: int = -1)[source]

Forwards API method IteratorBase.waitUntilFinished(). See documentation there.

abstract property api
class qcodes_contrib_drivers.drivers.SwabianInstruments.private.time_tagger.ParameterWithSetSideEffect(name: str, set_side_effect: Callable[[Any], None], set_cmd: Callable[[Any], Any] | None = None, execute_before: bool = False, **kwargs: Any)[source]

Bases: Parameter

A Parameter allowing for side effects on set events.

Parameters:
  • set_side_effect – A callable that is run on every set event. Receives the set value as sole argument.

  • execute_before – Run the side effect before or after setting the parameter.

class qcodes_contrib_drivers.drivers.SwabianInstruments.private.time_tagger.TimeTaggerInstrumentBase(name: str, metadata: Mapping[Any, Any] | None = None, label: str | None = None)[source]

Bases: InstrumentBase

Base class for TimeTagger instruments and channels.

Overrides snapshot_base() to add the API configuration.

get_configuration() dict[str, Any][source]

Forwards API method TimeTaggerBase.getConfiguration(). See documentation there.

snapshot_base(update: bool | None = False, params_to_skip_update: Sequence[str] | None = None) dict[Any, Any][source]

State of the instrument as a JSON-compatible dict (everything that the custom JSON encoder class NumpyJSONEncoder supports).

Parameters:
  • update – If True, update the state by querying the instrument. If None update the state if known to be invalid. If False, just use the latest values in memory and never update state.

  • params_to_skip_update – List of parameter names that will be skipped in update even if update is True. This is useful if you have parameters that are slow to update but can be updated in a different way (as in the qdac). If you want to skip the update of certain parameters in all snapshots, use the snapshot_get attribute of those parameters instead.

Returns:

base snapshot

Return type:

dict

abstract property api
class qcodes_contrib_drivers.drivers.SwabianInstruments.private.time_tagger.TimeTaggerMeasurement(parent: InstrumentBase, name: str, api_tagger: tt.TimeTaggerBase | None = None, **kwargs: Any)[source]

Bases: MeasurementControlMixin, TimeTaggerInstrumentBase, TimeTaggerModule

Instrument channel representing a TimeTagger API Measurement.

get_capture_duration() int[source]

Forwards API method IteratorBase.getCaptureDuration(). See documentation there.

class qcodes_contrib_drivers.drivers.SwabianInstruments.private.time_tagger.TimeTaggerModule(parent: InstrumentBase, name: str, api_tagger: tt.TimeTaggerBase | None = None, **kwargs: Any)[source]

Bases: InstrumentChannel

An InstrumentChannel implementing TimeTagger Measurements and Virtual Channels.

__init__(parent: InstrumentBase, name: str, api_tagger: tt.TimeTaggerBase | None = None, **kwargs: Any)[source]

Initialize a TimeTaggerModule.

Parameters:
  • parent – The parent instrument.

  • name – The channel name.

  • api_tagger – The TimeTagger API object of the device to use. Can be a virtual time tagger gotten from TimeTaggerSynchronizedMeasurements.get_tagger().

classmethod implementations() frozenset[type[TimeTaggerModule]][source]

All registered implementations of this class.

abstract property api

The TimeTagger:TimeTagger.Measurement API object underlying this module.

property api_tagger: tt.TimeTaggerBase

The TimeTagger:TimeTagger.TimeTaggerBase API object underlying this module.

class qcodes_contrib_drivers.drivers.SwabianInstruments.private.time_tagger.TimeTaggerSynchronizedMeasurements(parent: InstrumentBase, name: str, **kwargs: Any)[source]

Bases: MeasurementControlMixin, InstrumentModule

Instrument module representing a TimeTagger API SynchronizedMeasurements object.

register_measurement(measurement: TimeTaggerMeasurement)[source]

Forwards API method SynchronizedMeasurements.registerMeasurement(). See documentation there.

unregister_measurement(measurement: TimeTaggerMeasurement)[source]

Forwards API method SynchronizedMeasurements.unregisterMeasurement(). See documentation there.

property api: tt.SynchronizedMeasurements
property api_tagger: tt.TimeTaggerBase

A proxy TimeTagger API object for synchronized measurements.

class qcodes_contrib_drivers.drivers.SwabianInstruments.private.time_tagger.TimeTaggerVirtualChannel(parent: InstrumentBase, name: str, api_tagger: tt.TimeTaggerBase | None = None, **kwargs: Any)[source]

Bases: TimeTaggerInstrumentBase, TimeTaggerModule

Instrument channel representing a TimeTagger API Virtual Channel.

get_channel() int[source]

Forwards API method VirtualChannel.getChannel(). See documentation there.

get_channels() list[int][source]

Forwards API method VirtualChannel.getChannels(). See documentation there.

class qcodes_contrib_drivers.drivers.SwabianInstruments.private.time_tagger.TypeValidator(cls: type)[source]

Bases: Validator[type]

A validator for specific types.

validate(value: type, context: str = '') None[source]
qcodes_contrib_drivers.drivers.SwabianInstruments.private.time_tagger.cached_api_object(__func: Callable[[...], Any] | None = None, *, required_parameters: Collection[str] | None = None)[source]

A custom descriptor for a cached API object with exception handling, invalidation capability, and initialization checks.

qcodes_contrib_drivers.drivers.SwabianInstruments.private.time_tagger.refer_to_api_doc(api_obj: str) Callable[[_F], _F][source]

Decorator factory to link a method to its TT API documentation.

Module contents