from ......Internal.Core import Core
from ......Internal.CommandsGroup import CommandsGroup
from ......Internal import Conversions
from ...... import enums
from ...... import repcap
# noinspection PyPep8Naming,PyAttributeOutsideInit,SpellCheckingInspection
class RangeCls:
"""
| Commands in total: 1
| Subgroups: 0
| Direct child commands: 1
"""
def __init__(self, core: Core, parent):
self._core = core
self._cmd_group = CommandsGroup("range", core, parent)
[docs]
def set(self, width_range_mode: enums.TriggerSearchRangeMode, trigger=repcap.Trigger.Default) -> None:
"""
``TRIGger<*>:PARallel:PATTern:WIDTh:RANGe`` \n
Snippet: ``driver.trigger.parallel.pattern.width.range.set(width_range_mode = enums.TriggerSearchRangeMode.LONGer, trigger = repcap.Trigger.Default)`` \n
Selects how the range of a pulse width is defined if method ``RsRtx.trigger.parallel.pattern.mode.set()`` is set to WIDTh.
:param width_range_mode: WITHin | OUTSide | SHORter | LONGer \n
- WITHin: Triggers when the pattern comes false inside a given time range. The time limit is defined by TRIGgert:PARallel:PATTern:WIDTh[:WIDTh] and TRIGgert:PARallel:PATTern:WIDTh:DELTa (Width ± Delta) .
- OUTSide: Triggers when the pattern comes false before or after the given time range. The time limit definition is the same as for WITHin range.
- SHORter | LONGer: Triggers when the pattern comes false before or after the given width has expired. Width is set with TRIGgert:PARallel:PATTern:WIDTh[:WIDTh].
:param trigger: optional repeated capability selector. Default value: Nr1 (settable in the interface 'Trigger')
"""
param = Conversions.enum_scalar_to_str(width_range_mode, enums.TriggerSearchRangeMode)
trigger_cmd_val = self._cmd_group.get_repcap_cmd_value(trigger, repcap.Trigger)
self._core.io.write_with_opc(f'TRIGger{trigger_cmd_val}:PARallel:PATTern:WIDTh:RANGe {param}')
# noinspection PyTypeChecker
[docs]
def get(self, trigger=repcap.Trigger.Default) -> enums.TriggerSearchRangeMode:
"""
``TRIGger<*>:PARallel:PATTern:WIDTh:RANGe`` \n
Snippet: ``value: enums.TriggerSearchRangeMode = driver.trigger.parallel.pattern.width.range.get(trigger = repcap.Trigger.Default)`` \n
Selects how the range of a pulse width is defined if method ``RsRtx.trigger.parallel.pattern.mode.set()`` is set to WIDTh.
:param trigger: optional repeated capability selector. Default value: Nr1 (settable in the interface 'Trigger')
:return: width_range_mode: WITHin | OUTSide | SHORter | LONGer \n
- WITHin: Triggers when the pattern comes false inside a given time range. The time limit is defined by TRIGgert:PARallel:PATTern:WIDTh[:WIDTh] and TRIGgert:PARallel:PATTern:WIDTh:DELTa (Width ± Delta) .
- OUTSide: Triggers when the pattern comes false before or after the given time range. The time limit definition is the same as for WITHin range.
- SHORter | LONGer: Triggers when the pattern comes false before or after the given width has expired. Width is set with TRIGgert:PARallel:PATTern:WIDTh[:WIDTh].
"""
trigger_cmd_val = self._cmd_group.get_repcap_cmd_value(trigger, repcap.Trigger)
response = self._core.io.query_str_with_opc(f'TRIGger{trigger_cmd_val}:PARallel:PATTern:WIDTh:RANGe?')
return Conversions.str_to_scalar_enum(response, enums.TriggerSearchRangeMode)