qmi.instruments.nkt_photonics.adjustik
QMI driver for the NKT Photonics Instruments “Adjustik” laser driver.
The communication protocol to the laser driver is documented in the “Software Development Kit for NKT Photonics Instruments - Instruction Manual” document, v2.1.3, Oct 2018. [Reference 1].
Chapter 2 of this document describes the NKT Photonics Interbus protocol (physical, framing, CRC, etc.)
module type standard address section description
20h 0Fh 6.2 Koheras AdjustiK/BoostiK System (K81-1 to K83-1) 34h 80h 6.3 Koheras ADJUSTIK/ACOUSTIK System (K822/K852) 21h 0Ah 6.4 Koheras BasiK Module (K80-1) 36h 01h (default; settable) 6.5 Koheras BASIK MIKRO Module (K0x2) 33h 01h (default; settable) 6.6 Koheras BASIK MIKRO Module (K1x2) 70h 02h 6.7 BoostiK OEM Amplifier (N83) 60h 15h 6.7 BoostiK OEM Amplifier (N83)
Chapter 6 of this document describes the Register Files for different devices.
Classes
|
- class qmi.instruments.nkt_photonics.adjustik.KoherasAdjustikLaser(context: QMI_Context, name: str, transport: str)
- 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.
- 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.
- get_basik_module_type() int
Return BASIK module type. Should be 0x33.
- get_basik_emission() int
Emission status.
- enable_basik_emission() None
Enable basik emission.
- disable_basik_emission() None
Disable basik emission.
- get_basik_setup_bits() int
Return the setup bits.
bit 0: - bit 1: wide wavelength modulation range bit 2: enable external wavelength modulation bit 3: wavelength modulation DC coupled bit 4: enable internal wavelength modulation bit 5: enable modulation output bit 6: - bit 7: - bit 8: pump operation constant current bit 9: external amplitude modulation source
- set_basik_setup_bits(bits: int) None
Set the setup bits.
- get_basik_output_power_setpoint_mW() float
Return the output power setpoint, in [mW].
- set_basik_output_power_setpoint_mW(power: float) None
Set the the output power setpoint, in [mW].
- get_basik_output_power_setpoint_dBm() float
Return the output power setpoint, in [dBm].
Should be equal to 10.0 * log10(output_power_setpoint_mW).
- set_basik_output_power_setpoint_dBm(power: float) None
Set the output power setpoint, in [dBm].
Should be equal to 10.0 * log10(output_power_setpoint_mW).
- get_basik_wavelength_offset_setpoint() float
Return the wavelength offset setpoint, in [pm].
- set_basik_wavelength_offset_setpoint(setpoint: float) None
Set the wavelength offset setpoint, in [pm].
- get_basik_user_area() bytes
Return the 240-byte user area contents.
- get_basik_status_bits() int
Return BASIC module type.
- get_basik_output_power_mW() float
Return the output power readout, in [mW].
- get_basik_output_power_dBm() float
Return the output power readout, in [dBm].
Should be equal to 10.0 * log10(output_power_mW).
- get_basik_standard_wavelength() float
Return the standard wavelength, in [pm].
- get_basik_wavelength_offset() float
Return the wavelength offset, in [pm].
- get_basik_module_temperature() float
Return the module temperature, in [°C].
- get_basik_module_supply_voltage() float
Return the module supply voltage, in [V].
- get_basik_module_wavelength_modulation_enabled() int
Undocumented: wavelength modulation on?
- get_basik_wavelength_modulation_frequency() Tuple[float, float]
Return the two wavelength modulation frequencies, in ([Hz], [Hz]).
- set_basik_wavelength_modulation_frequency(freq0: float, freq1: float) None
Set the wavelength modulation frequency, in [Hz].
- get_basik_wavelength_modulation_level() float
Return the wavelength modulation level, in [%].
- set_basik_wavelength_modulation_level(level: float) None
Set the wavelength modulation level, in [%].
- get_basik_wavelength_modulation_offset() float
Return the wavelength modulation offset, in [%].
- set_basik_wavelength_modulation_offset(offset: float) None
Set the wavelength modulation offset, in [%].
- get_basik_amplitude_modulation_frequency() Tuple[float, float]
Return the two amplitude modulation frequencies, in ([Hz], [Hz]).
- get_basik_amplitude_modulation_depth() float
Return the amplitude modulation depth, in [%].
- get_basik_modulation_setup_bits() int
Return the modulation setup bits.
- set_basik_modulation_setup_bits(bits: int) None
Set the modulation setup bits.
- get_adjustik_module_type() int
Return ADJUSTIK module type. Should be 0x34.
- 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.
- 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.