from ....Internal.Core import Core
from ....Internal.CommandsGroup import CommandsGroup
from ....Internal import Conversions
# noinspection PyPep8Naming,PyAttributeOutsideInit,SpellCheckingInspection
class ImpedanceCls:
"""
| Commands in total: 2
| Subgroups: 1
| Direct child commands: 1
"""
def __init__(self, core: Core, parent):
self._core = core
self._cmd_group = CommandsGroup("impedance", core, parent)
@property
def ptype(self):
"""
| Commands in total: 1
| Subgroups: 0
| Direct child commands: 1
"""
if not hasattr(self, '_ptype'):
from .Ptype import PtypeCls
self._ptype = PtypeCls(self._core, self._cmd_group)
return self._ptype
[docs]
def set(self, impedance: int) -> None:
"""
``INPut:IMPedance`` \n
Snippet: ``driver.inputPy.impedance.set(impedance = 1)`` \n
Selects the nominal input impedance of the RF input. In some applications, only 50 Ohm are supported. For input from the
'Analog Baseband' interface, use the method ``RsFsw.inputPy.iq.impedance.set()`` command.
:param impedance: 50 | 75 numeric value User-defined impedance from 50 Ohm to 100000000 Ohm (=100 MOhm) User-defined values are only available for the Spectrum application, the I/Q Analyzer, and some optional applications. (In MSRA mode, primary only) Unit: OHM
"""
param = Conversions.decimal_value_to_str(impedance)
self._core.io.write(f'INPut:IMPedance {param}')
[docs]
def get(self) -> int:
"""
``INPut:IMPedance`` \n
Snippet: ``value: int = driver.inputPy.impedance.get()`` \n
Selects the nominal input impedance of the RF input. In some applications, only 50 Ohm are supported. For input from the
'Analog Baseband' interface, use the method ``RsFsw.inputPy.iq.impedance.set()`` command.
:return: impedance: 50 | 75 numeric value User-defined impedance from 50 Ohm to 100000000 Ohm (=100 MOhm) User-defined values are only available for the Spectrum application, the I/Q Analyzer, and some optional applications. (In MSRA mode, primary only) Unit: OHM
"""
response = self._core.io.query_str(f'INPut:IMPedance?')
return Conversions.str_to_int(response)
def clone(self) -> 'ImpedanceCls':
"""
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 = ImpedanceCls(self._core, self._cmd_group.parent)
self._cmd_group.synchronize_repcaps(new_group)
return new_group