qmi.instruments.teraxion.tfn
Instrument driver for TeraXion TFN.
Classes
|
Instrument driver for TeraXion TFN. |
|
Channel plan of TFN. |
|
Base class for Teraxion TFN commands. |
Command to disable the TFN. |
|
Command to enable the TFN. |
|
Command to get the channel plan. |
|
Command to get the firmware version. |
|
Command to get the frequency. |
|
Command to get the manufacturer name. |
|
Command to get the manufacturing date. |
|
Command to get the model number. |
|
Command to get the nominal settings. |
|
Command to get the RTD temperature. |
|
Command to get the serial number. |
|
Command to get the startup byte of the TFN. |
|
|
Command to get the status of the TFN. |
|
Command to software reset the TFN. |
Command to save the nominal settings. |
|
Command to set the frequency. |
|
Command to get the channel plan. |
|
Command to set the startup byte of the TFN. |
|
|
TeraXion TFN elements. |
|
Settings of TFN. |
|
Status of TFN. |
- class qmi.instruments.teraxion.tfn.Teraxion_TFNElement(value)
TeraXion TFN elements.
- class qmi.instruments.teraxion.tfn.Teraxion_TFNStatus(busy_error: bool, overrun_error: bool, command_error: bool, tfn_active: bool, tfn_ready: bool, invalid_eeprom_error: bool, tec_4_temp_limit: bool, tec_3_temp_limit: bool, tec_2_temp_limit: bool, tec_1_temp_limit: bool, tec_4_in_range: bool, tec_3_in_range: bool, tec_2_in_range: bool, tec_1_in_range: bool)
Status of TFN.
- class qmi.instruments.teraxion.tfn.Teraxion_TFNSettings(frequency: float, dispersion: float)
Settings of TFN.
- frequency
The current frequency in GHz.
- Type:
float
- dispersion
The dispersion in ps/nm.
- Type:
float
- class qmi.instruments.teraxion.tfn.Teraxion_TFNChannelPlan(first_frequency: float, last_frequency: float, num_cal_channels: int)
Channel plan of TFN.
- first_frequency
The first frequency in GHz.
- Type:
float
- last_frequency
The last frequency in GHz.
- Type:
float
- num_cal_channels
Number of calibrated channels.
- Type:
int
- class qmi.instruments.teraxion.tfn.Teraxion_TFNCommand(command_id: int = -1, num_received_bytes: int | None = None, module_address: int = 48)
Base class for Teraxion TFN commands.
- class qmi.instruments.teraxion.tfn.Teraxion_TFNCommand_GetStatus(command_id: int = -1, num_received_bytes: int | None = None, module_address: int = 48)
Command to get the status of the TFN.
- class qmi.instruments.teraxion.tfn.Teraxion_TFNCommand_Reset(command_id: int = -1, num_received_bytes: int | None = None, module_address: int = 48)
Command to software reset the TFN.
- class qmi.instruments.teraxion.tfn.Teraxion_TFNCommand_GetFrequency(command_id: int = -1, num_received_bytes: int | None = None, module_address: int = 48)
Command to get the frequency.
- class qmi.instruments.teraxion.tfn.Teraxion_TFNCommand_SetFrequency(command_id: int = -1, num_received_bytes: int | None = None, module_address: int = 48)
Command to set the frequency.
- class qmi.instruments.teraxion.tfn.Teraxion_TFNCommand_GetRTDTemperature(command_id: int = -1, num_received_bytes: int | None = None, module_address: int = 48)
Command to get the RTD temperature.
- class qmi.instruments.teraxion.tfn.Teraxion_TFNCommand_EnableDevice(command_id: int = -1, num_received_bytes: int | None = None, module_address: int = 48)
Command to enable the TFN.
- class qmi.instruments.teraxion.tfn.Teraxion_TFNCommand_DisableDevice(command_id: int = -1, num_received_bytes: int | None = None, module_address: int = 48)
Command to disable the TFN.
- class qmi.instruments.teraxion.tfn.Teraxion_TFNCommand_GetStartupByte(command_id: int = -1, num_received_bytes: int | None = None, module_address: int = 48)
Command to get the startup byte of the TFN.
- class qmi.instruments.teraxion.tfn.Teraxion_TFNCommand_SetStartupByte(command_id: int = -1, num_received_bytes: int | None = None, module_address: int = 48)
Command to set the startup byte of the TFN.
- class qmi.instruments.teraxion.tfn.Teraxion_TFNCommand_GetFirmwareVersion(command_id: int = -1, num_received_bytes: int | None = None, module_address: int = 48)
Command to get the firmware version.
- class qmi.instruments.teraxion.tfn.Teraxion_TFNCommand_GetManufacturerName(command_id: int = -1, num_received_bytes: int | None = None, module_address: int = 48)
Command to get the manufacturer name.
- class qmi.instruments.teraxion.tfn.Teraxion_TFNCommand_GetModelNumber(command_id: int = -1, num_received_bytes: int | None = None, module_address: int = 48)
Command to get the model number.
- class qmi.instruments.teraxion.tfn.Teraxion_TFNCommand_GetSerialNumber(command_id: int = -1, num_received_bytes: int | None = None, module_address: int = 48)
Command to get the serial number.
- class qmi.instruments.teraxion.tfn.Teraxion_TFNCommand_GetManufacturingDate(command_id: int = -1, num_received_bytes: int | None = None, module_address: int = 48)
Command to get the manufacturing date.
- class qmi.instruments.teraxion.tfn.Teraxion_TFNCommand_GetNominalSettings(command_id: int = -1, num_received_bytes: int | None = None, module_address: int = 48)
Command to get the nominal settings.
- class qmi.instruments.teraxion.tfn.Teraxion_TFNCommand_SaveNominalSettings(command_id: int = -1, num_received_bytes: int | None = None, module_address: int = 48)
Command to save the nominal settings.
- class qmi.instruments.teraxion.tfn.Teraxion_TFNCommand_GetChannelPlan(command_id: int = -1, num_received_bytes: int | None = None, module_address: int = 48)
Command to get the channel plan.
- class qmi.instruments.teraxion.tfn.Teraxion_TFNCommand_SetI2CAddress(command_id: int = -1, num_received_bytes: int | None = None, module_address: int = 48)
Command to get the channel plan.
- class qmi.instruments.teraxion.tfn.Teraxion_TFN(context: QMI_Context, name: str, transport: str)
Instrument driver for TeraXion TFN. It uses serial communication.
- 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_firmware_version() str
Get firmware version of the TFN.
- Returns:
The firmware version.
- get_manufacturer_name() str
Get manufacturer name of the TFN.
- Returns:
The name of the manufacturer.
- get_model_number() str
Get model number of the TFN.
- Returns:
The model number.
- get_serial_number() str
Get serial number of the TFN.
- Returns:
The serial number.
- get_idn() QMI_InstrumentIdentification
Get instrument identification of the TFN.
- Returns:
An instance of QMI_InstrumentIdentification.
- get_manufacturing_date() date
Get manufacturing date of the TFN.
- Returns:
The manufacturing date.
- get_status() Teraxion_TFNStatus
Get status of the TFN.
- Returns:
An instance of Teraxion_TFNStatus.
- reset() None
Perform a software reset.
- set_frequency(frequency: float) None
Set frequency setpoint of the TFN.
- Parameters:
frequency – The frequency setpoint in GHz.
- get_frequency() float
Get frequency setpoint of the TFN.
- Returns:
The frequency setpoint in GHz.
- get_rtd_temperature(element: Teraxion_TFNElement) int
Get the RTD temperature of the provided element.
- Parameters:
element – The element to get the temperature for.
- Returns:
RTD temperature in hundreths of a degree Celcius.
- enable_device() None
Enable the device and turn on TEC control.
- disable_device() None
Disable the device and turn off TEC control.
- get_startup_byte() bool
Get the startup byte of the TFN.
- Returns:
The status of the TECs on startup. True for all enable and False for all disabled.
- enable_tecs_on_startup() None
Enable TECs on startup of TFN.
- disable_tecs_on_startup() None
Disable TECs on startup of TFN.
- get_nominal_settings() Teraxion_TFNSettings
Get nominal settings of the TFN.
- Returns:
An instance of Teraxion_TFNSettings.
- save_nominal_settings() None
Save nominal settings of the TFN. These settings are the current frequency and dispersion values.
- get_channel_plan() Teraxion_TFNChannelPlan
Get channel plan for specified grid.
- Returns:
An instance of Teraxion_TFNChannelPlan.
- set_i2c_address(address: int) None
Set the I2C address of the TFN module. This all will need a power cycle to take effect.
- Parameters:
address – New I2C address for module.
- 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.