from ....Internal.Core import Core
from ....Internal.CommandsGroup import CommandsGroup
from ....Internal import Conversions
from .... import repcap
# noinspection PyPep8Naming,PyAttributeOutsideInit,SpellCheckingInspection
class RelativeCls:
"""
| Commands in total: 1
| Subgroups: 0
| Direct child commands: 1
"""
def __init__(self, core: Core, parent):
self._core = core
self._cmd_group = CommandsGroup("relative", core, parent)
[docs]
def set(self, relative: float, noise=repcap.Noise.Default) -> None:
"""
``TRIGger:NOISe<*>:RELative`` \n
Snippet: ``driver.trigger.noise.relative.set(relative = 1.0, noise = repcap.Noise.Default)`` \n
Defines a range in divisions around the trigger level as percentage. If the signal oscillates inside this range and
crosses the trigger level thereby, no trigger event occurs.
:param relative: 0 to 50
:param noise: optional repeated capability selector. Default value: Nr1 (settable in the interface 'Noise')
"""
param = Conversions.decimal_value_to_str(relative)
noise_cmd_val = self._cmd_group.get_repcap_cmd_value(noise, repcap.Noise)
self._core.io.write(f'TRIGger:NOISe{noise_cmd_val}:RELative {param}')
[docs]
def get(self, noise=repcap.Noise.Default) -> float:
"""
``TRIGger:NOISe<*>:RELative`` \n
Snippet: ``value: float = driver.trigger.noise.relative.get(noise = repcap.Noise.Default)`` \n
Defines a range in divisions around the trigger level as percentage. If the signal oscillates inside this range and
crosses the trigger level thereby, no trigger event occurs.
:param noise: optional repeated capability selector. Default value: Nr1 (settable in the interface 'Noise')
:return: relative: 0 to 50
"""
noise_cmd_val = self._cmd_group.get_repcap_cmd_value(noise, repcap.Noise)
response = self._core.io.query_str(f'TRIGger:NOISe{noise_cmd_val}:RELative?')
return Conversions.str_to_float(response)