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 PconditionCls:
"""
| Commands in total: 1
| Subgroups: 0
| Direct child commands: 1
"""
def __init__(self, core: Core, parent):
self._core = core
self._cmd_group = CommandsGroup("pcondition", core, parent)
[docs]
def set(self, operator: enums.ConditionOperator, trigger=repcap.Trigger.Default, triggerPattern=repcap.TriggerPattern.Default) -> None:
"""
``TRIGger<*>:SERPattern:COMPlex:PATTern<*>:PCONdition`` \n
Snippet: ``driver.trigger.serPattern.complex.pattern.pcondition.set(operator = enums.ConditionOperator.EQUal, trigger = repcap.Trigger.Default, triggerPattern = repcap.TriggerPattern.Default)`` \n
Sets the operator to define the exact position or range where the instrument looks for the specified pattern.
:param operator: EQUal | NEQual | LTHan | LETHan | GTHan | GETHan | INRange | OORange \n
- EQUal | NEQual | LTHan | LETHan | GTHan | GETHan: Equal, Not equal, Less than, Less or equal than, Greater Than, Greater or equal than. These operators require one identifier pattern to be set with TRIGgert:SERPattern:COMPlex:PATTernn:FRPTtern
- INRange | OORange: In range / Out of range: Set the minimum and maximum value of the range with TRIGgert:SERPattern:COMPlex:PATTernn:FRPTtern and TRIGgert:SERPattern:COMPlex:PATTernn:TOPTtern.
:param trigger: optional repeated capability selector. Default value: Nr1 (settable in the interface 'Trigger')
:param triggerPattern: optional repeated capability selector. Default value: Nr1 (settable in the interface 'Pattern')
"""
param = Conversions.enum_scalar_to_str(operator, enums.ConditionOperator)
trigger_cmd_val = self._cmd_group.get_repcap_cmd_value(trigger, repcap.Trigger)
triggerPattern_cmd_val = self._cmd_group.get_repcap_cmd_value(triggerPattern, repcap.TriggerPattern)
self._core.io.write(f'TRIGger{trigger_cmd_val}:SERPattern:COMPlex:PATTern{triggerPattern_cmd_val}:PCONdition {param}')
# noinspection PyTypeChecker
[docs]
def get(self, trigger=repcap.Trigger.Default, triggerPattern=repcap.TriggerPattern.Default) -> enums.ConditionOperator:
"""
``TRIGger<*>:SERPattern:COMPlex:PATTern<*>:PCONdition`` \n
Snippet: ``value: enums.ConditionOperator = driver.trigger.serPattern.complex.pattern.pcondition.get(trigger = repcap.Trigger.Default, triggerPattern = repcap.TriggerPattern.Default)`` \n
Sets the operator to define the exact position or range where the instrument looks for the specified pattern.
:param trigger: optional repeated capability selector. Default value: Nr1 (settable in the interface 'Trigger')
:param triggerPattern: optional repeated capability selector. Default value: Nr1 (settable in the interface 'Pattern')
:return: operator: EQUal | NEQual | LTHan | LETHan | GTHan | GETHan | INRange | OORange \n
- EQUal | NEQual | LTHan | LETHan | GTHan | GETHan: Equal, Not equal, Less than, Less or equal than, Greater Than, Greater or equal than. These operators require one identifier pattern to be set with TRIGgert:SERPattern:COMPlex:PATTernn:FRPTtern
- INRange | OORange: In range / Out of range: Set the minimum and maximum value of the range with TRIGgert:SERPattern:COMPlex:PATTernn:FRPTtern and TRIGgert:SERPattern:COMPlex:PATTernn:TOPTtern.
"""
trigger_cmd_val = self._cmd_group.get_repcap_cmd_value(trigger, repcap.Trigger)
triggerPattern_cmd_val = self._cmd_group.get_repcap_cmd_value(triggerPattern, repcap.TriggerPattern)
response = self._core.io.query_str(f'TRIGger{trigger_cmd_val}:SERPattern:COMPlex:PATTern{triggerPattern_cmd_val}:PCONdition?')
return Conversions.str_to_scalar_enum(response, enums.ConditionOperator)