qmi.instruments.quantum_opus.amp_sim_module
Instrument driver for the Quantum Opus amp-sim module.
Classes
|
Instrument driver for the Quantum Opus amp-sim module. |
- class qmi.instruments.quantum_opus.amp_sim_module.AmpSimModule(context: QMI_Context, name: str, sim_900: Sim900, port: int)
Instrument driver for the Quantum Opus amp-sim module.
- get_module_id() str
Query module identification string.
- Returns:
Module identification string.
- get_device_bias_current() int
Query device bias current.
Query device bias in DAC units (0 ─ 65535) for 0 to 2.5 V bias through 100 kΩ bias resistor (0-25 μA bias current)
- Returns:
Query device bias in DAC units.
- set_device_bias_current(dac_units: int) None
Set device bias current.
Set device bias current in DAC units (d = 0 ─ 65535, integer values). 0 = off, 65535 = 25μA. The bias current defaults to zero upon power-up.
- Parameters:
dac_units – Device bias in DAC units.
- set_adc_low_gain_mode() None
Set ADC gain to low_gain mode.
- set_adc_high_gain_mode() None
Set ADC gain to high_gain mode.
- get_device_voltage() int
Query device voltage.
Query device voltage in ADC units. If module is in high-gain mode (setting 0) the voltage (in volts) is calculated as (ADC units)/65535*1.1. If the module is in low-gain mode (setting 1) the voltage (in volts) is calculated as (ADC units)/65535*5.0
- Returns:
Query device bias in ADC units.
- set_reset_event_duration(duration: int) None
Set reset event duration.
Set the Reset Event duration (d = 0 ─ 255, integer). Sets the length of time the device bias is set to zero when a latch condition (i.e., device in non-superconducting state) is detected. The duration is calculated in units of 10 ms.
- Parameters:
duration – Duration in units of 10ms.
- get_reset_event_duration() int
Query Reset Event duration.
Query the presently set Reset Event duration.The duration is represented in units of 10 ms.
- Returns:
Duration in units of 10ms.
- set_auto_reset_enabled(enabled_flag: bool) None
Enable or disable the auto-reset function.
Enable or disable the auto-reset function. When enabled the module will monitor the voltage on the nanowire device and if it exceeds an internally set value indicating the device is no longer superconducting, an auto-reset event will be triggered. If disabled, a latch condition will be persistent until manually cleared by front-panel operation or by initiating a reset event through software.
- Parameters:
enabled_flag – Boolean flag to enable or disable the auto-reset function.
- get_auto_reset_enabled() bool
Query the auto-reset function.
- Returns:
Return value is True if enabled, False if disabled.
- initiate_reset_event() None
Initiate a Reset Event.
Initiate a Reset Event. The device bias is reduced to zero, held at zero for the Reset Event duration, and then returned to its previously set value.
- initiate_auto_bias_function() None
Initiate the auto-bias function.
Initiate the auto-bias function. The device bias current is swept up from zero until a latch condition is detected. This latching current is measured. A Reset Event is initiated and then the bias is increased back up to approximately 95% of the measured latching current. This function is most reliable when the incoming light on the device is minimized as incoming photons can cause a slightly lower measured latching current. Note: The auto-bias function can result in slightly different bias currents each time it is run.
- store_bias_current_in_non_volatile_memory(dac_current: int) None
Store a bias DAC value into non-volatile memory.
Store a bias DAC value into non-volatile memory (d = 0 ─ 65535, integer values). 0=off, 65535=25μA. This value will be written into internal non-volatile memory for reproducible biasing of the device through the use_device_bias_from_non_volatile_memory.
Note: The internal non-volatile memory is only guaranteed to survive for 100,000 write functions. This limit can be easily exceeded if an external program repeatedly calls this function.
- Parameters:
dac_current – Bias current that needs to be stored in non-volatile memory in units of 25μA.
- get_bias_current_from_non_volatile_memory() int
Query DAC bias value stored in non-volatile memory.
Return the value of the DAC bias stored in non-volatile memory. The bias value is stored in units of 25μA.
- Returns:
Bias value stored in non-voletile memory in units of 25μA.
- use_device_bias_from_non_volatile_memory() None
Sets the device bias to the value stored in non-volatile memory.
- close() None
Close the connection to the instrument hardware and release associated resources.
When this method returns, the instrument must not be used again unless it is first re-opened by calling the open() method.
Subclasses can extend this method if they have specific resources to close. If they do, they should call
super().close()as a last statement.
- force_unlock() None
Forcefully unlock the remote object.
This unlocks the object, regardless of who owns the lock. This allows you to unlock an object if the locking proxy has been destroyed without unlocking.
Use this with care.
Do not override this stub method in subclasses. It has already been implemented in QMI_RpcProxy.
- classmethod get_category() str | None
Return the optional name of the category this object belongs to.
A category name is a free-form string that has no special significance. Its purpose is to distinguish between groups of RPC objects that fulfill similar roles.
- get_name() str
Return the name of this object.
- Returns:
name attribute.
- get_signals() list[SignalDescription]
Return a list of signals that can be published by this object.
- Returns:
List consisting of qmi_signals attributes.
- is_locked() bool
Query if the remote object is locked.
Do not override this stub method in subclasses. It has already been implemented in QMI_RpcProxy.
- is_open() bool
Return True if the instrument is open (ready for interaction).
- lock(timeout: float = 0.0, lock_token: str | None = None) bool
Lock the remote object. If timeout is given, try every 0.1s within the given timeout value. The remote object can be locked with an optional custom lock token by giving a string into lock_token keyword argument.
If successful, this proxy is the only proxy that can invoke RPC methods on the remote object; other proxies will receive an “object is locked” response. The return value indicates if the lock was granted; a denied lock means the object was already locked by another proxy.
Do not override this stub method in subclasses. It has already been implemented in QMI_RpcProxy.
- open() None
Connect to the instrument hardware.
When this method returns, the instrument must be ready for interaction via calls to instrument-specific methods.
Subclasses can extend this method to implement instrument-specific initialization. If they do, they should call
super().open()as a last statement.
- release_rpc_object() None
Give a warning if the instrument is removed while still open.
- unlock(lock_token: str | None = None) bool
Unlock the remote object.
Without optional parameters, this is only allowed by the proxy that initially locked the object. By giving the lock token as an input parameter, the specific object locked by this token can be unlocked. The return value indicates if the unlocking was successful.
Do not override this stub method in subclasses. It has already been implemented in QMI_RpcProxy.