from .....Internal.Core import Core
from .....Internal.CommandsGroup import CommandsGroup
from .....Internal import Conversions
# noinspection PyPep8Naming,PyAttributeOutsideInit,SpellCheckingInspection
class TcInterfererCls:
"""
| Commands in total: 21
| Subgroups: 2
| Direct child commands: 3
"""
def __init__(self, core: Core, parent):
self._core = core
self._cmd_group = CommandsGroup("tcInterferer", core, parent)
@property
def moving(self):
"""
| Commands in total: 9
| Subgroups: 2
| Direct child commands: 5
"""
if not hasattr(self, '_moving'):
from .Moving import MovingCls
self._moving = MovingCls(self._core, self._cmd_group)
return self._moving
@property
def reference(self):
"""
| Commands in total: 9
| Subgroups: 2
| Direct child commands: 5
"""
if not hasattr(self, '_reference'):
from .Reference import ReferenceCls
self._reference = ReferenceCls(self._core, self._cmd_group)
return self._reference
[docs]
def get_period(self) -> float:
"""
``[SOURce<HW>]:FSIMulator:TCINterferer:PERiod`` \n
Snippet: ``value: float = driver.source.fsimulator.tcInterferer.get_period()`` \n
Sets either the dwell time or the period for a complete cycle of the moving path.
:return: period: float Range: 0.1 to 10
"""
response = self._core.io.query_str('SOURce<HwInstance>:FSIMulator:TCINterferer:PERiod?')
return Conversions.str_to_float(response)
[docs]
def set_period(self, period: float) -> None:
"""
``[SOURce<HW>]:FSIMulator:TCINterferer:PERiod`` \n
Snippet: ``driver.source.fsimulator.tcInterferer.set_period(period = 1.0)`` \n
Sets either the dwell time or the period for a complete cycle of the moving path.
:param period: float Range: 0.1 to 10
"""
param = Conversions.decimal_value_to_str(period)
self._core.io.write(f'SOURce<HwInstance>:FSIMulator:TCINterferer:PERiod {param}')
[docs]
def get_speed(self) -> float:
"""
``[SOURce<HW>]:FSIMulator:TCINterferer:SPEed`` \n
Snippet: ``value: float = driver.source.fsimulator.tcInterferer.get_speed()`` \n
Sets the speed v of the moving receiver for 2 channel interferer fading.
:return: speed: float Range: 0 to 27778 (dynamic)
"""
response = self._core.io.query_str('SOURce<HwInstance>:FSIMulator:TCINterferer:SPEed?')
return Conversions.str_to_float(response)
[docs]
def set_speed(self, speed: float) -> None:
"""
``[SOURce<HW>]:FSIMulator:TCINterferer:SPEed`` \n
Snippet: ``driver.source.fsimulator.tcInterferer.set_speed(speed = 1.0)`` \n
Sets the speed v of the moving receiver for 2 channel interferer fading.
:param speed: float Range: 0 to 27778 (dynamic)
"""
param = Conversions.decimal_value_to_str(speed)
self._core.io.write(f'SOURce<HwInstance>:FSIMulator:TCINterferer:SPEed {param}')
[docs]
def get_state(self) -> bool:
"""
``[SOURce<HW>]:FSIMulator:TCINterferer:[STATe]`` \n
Snippet: ``value: bool = driver.source.fsimulator.tcInterferer.get_state()`` \n
Activates the 2 channel interferer fading configuration. The paths and the fading simulator must be switched on
separately, see method ``RsSmw.source.fsimulator.tcInterferer.reference.state()`` and method
``RsSmw.source.fsimulator.state()`` .
:return: state: 1 | ON | 0| OFF
"""
response = self._core.io.query_str('SOURce<HwInstance>:FSIMulator:TCINterferer:STATe?')
return Conversions.str_to_bool(response)
[docs]
def set_state(self, state: bool) -> None:
"""
``[SOURce<HW>]:FSIMulator:TCINterferer:[STATe]`` \n
Snippet: ``driver.source.fsimulator.tcInterferer.set_state(state = False)`` \n
Activates the 2 channel interferer fading configuration. The paths and the fading simulator must be switched on
separately, see method ``RsSmw.source.fsimulator.tcInterferer.reference.state()`` and method
``RsSmw.source.fsimulator.state()`` .
:param state: 1 | ON | 0| OFF
"""
param = Conversions.bool_to_str(state)
self._core.io.write(f'SOURce<HwInstance>:FSIMulator:TCINterferer:STATe {param}')
def clone(self) -> 'TcInterfererCls':
"""
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 = TcInterfererCls(self._core, self._cmd_group.parent)
self._cmd_group.synchronize_repcaps(new_group)
return new_group