Source code for rsrtx.Implementations.Efrontend

from ...Internal.Core import Core
from ...Internal.CommandsGroup import CommandsGroup
from ...Internal import Conversions
from ... import enums


# noinspection PyPep8Naming,PyAttributeOutsideInit,SpellCheckingInspection
class EfrontendCls:
	"""
	| Commands in total: 4
	| Subgroups: 1
	| Direct child commands: 3
	"""

	def __init__(self, core: Core, parent):
		self._core = core
		self._cmd_group = CommandsGroup("efrontend", core, parent)

	@property
	def cselect(self):
		"""
		| Commands in total: 1
		| Subgroups: 0
		| Direct child commands: 1
		"""
		if not hasattr(self, '_cselect'):
			from .Cselect import CselectCls
			self._cselect = CselectCls(self._core, self._cmd_group)
		return self._cselect

[docs] def get_count(self) -> int: """ ``EFRontend:COUNt`` \n Snippet: ``value: int = driver.efrontend.get_count()`` \n Sets the number of connected external frontends. See Table 'Supported external frontend types and maximum number of connected external frontends' for the maximum number of external frontend connections. :return: number: Possible values: 1, 2, 3 or 4 """ response = self._core.io.query_str('EFRontend:COUNt?') return Conversions.str_to_int(response)
[docs] def set_count(self, number: int) -> None: """ ``EFRontend:COUNt`` \n Snippet: ``driver.efrontend.set_count(number = 1)`` \n Sets the number of connected external frontends. See Table 'Supported external frontend types and maximum number of connected external frontends' for the maximum number of external frontend connections. :param number: Possible values: 1, 2, 3 or 4 """ param = Conversions.decimal_value_to_str(number) self._core.io.write(f'EFRontend:COUNt {param}')
# noinspection PyTypeChecker
[docs] def get_setup(self) -> enums.ExtFeMeasSetup: """ ``EFRontend:SETup`` \n Snippet: ``value: enums.ExtFeMeasSetup = driver.efrontend.get_setup()`` \n Selects the type of the test setup. """ response = self._core.io.query_str('EFRontend:SETup?') return Conversions.str_to_scalar_enum(response, enums.ExtFeMeasSetup)
[docs] def set_setup(self, ext_fe_meas_setup: enums.ExtFeMeasSetup) -> None: """ ``EFRontend:SETup`` \n Snippet: ``driver.efrontend.set_setup(ext_fe_meas_setup = enums.ExtFeMeasSetup.ADVanced)`` \n Selects the type of the test setup. :param ext_fe_meas_setup: COULo: Coupled LO (local oscillators) COURef: Coupled reference input ADVanced: user-defined setup """ param = Conversions.enum_scalar_to_str(ext_fe_meas_setup, enums.ExtFeMeasSetup) self._core.io.write(f'EFRontend:SETup {param}')
[docs] def preset(self, opc_timeout_ms: int = -1) -> None: """ ``EFRontend:PRESet`` \n Snippet: ``driver.efrontend.preset()`` \n Resets the complete configuration of the external frontends to the default values including the network connections. External frontends have their own preset. The general preset disconnects the external frontends but does not affect their settings. :param opc_timeout_ms: Maximum time to wait in milliseconds, valid only for this call. """ self._core.io.write_with_opc(f'EFRontend:PRESet', opc_timeout_ms)
def clone(self) -> 'EfrontendCls': """ Clones the group by creating new object from it and its whole existing subgroups. Also copies all the existing default Repeated Capabilities setting, which you can change independently without affecting the original group. """ new_group = EfrontendCls(self._core, self._cmd_group.parent) self._cmd_group.synchronize_repcaps(new_group) return new_group