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 RunExecCls:
"""
| Commands in total: 1
| Subgroups: 0
| Direct child commands: 1
"""
def __init__(self, core: Core, parent):
self._core = core
self._cmd_group = CommandsGroup("runExec", core, parent)
[docs]
def set(self, run_executable: enums.BeepMode, measurement=repcap.Measurement.Default) -> None:
"""
``MEASurement<*>:ONViolation:RUNexec`` \n
Snippet: ``driver.measurement.onViolation.runExec.set(run_executable = enums.BeepMode.NOACtion, measurement = repcap.Measurement.Default)`` \n
Starts an external application if the command is set to VIOLation or SUCCess.
Use the following commands to set up the application: \n
- method ``RsRtx.executable.name()``
- method ``RsRtx.executable.parameter()``
- method ``RsRtx.executable.wdirectory()``
:param run_executable: See 'Event parameter'
:param measurement: optional repeated capability selector. Default value: Nr1 (settable in the interface 'Measurement')
"""
param = Conversions.enum_scalar_to_str(run_executable, enums.BeepMode)
measurement_cmd_val = self._cmd_group.get_repcap_cmd_value(measurement, repcap.Measurement)
self._core.io.write_with_opc(f'MEASurement{measurement_cmd_val}:ONViolation:RUNexec {param}')
# noinspection PyTypeChecker
[docs]
def get(self, measurement=repcap.Measurement.Default) -> enums.BeepMode:
"""
``MEASurement<*>:ONViolation:RUNexec`` \n
Snippet: ``value: enums.BeepMode = driver.measurement.onViolation.runExec.get(measurement = repcap.Measurement.Default)`` \n
Starts an external application if the command is set to VIOLation or SUCCess.
Use the following commands to set up the application: \n
- method ``RsRtx.executable.name()``
- method ``RsRtx.executable.parameter()``
- method ``RsRtx.executable.wdirectory()``
:param measurement: optional repeated capability selector. Default value: Nr1 (settable in the interface 'Measurement')
:return: run_executable: See 'Event parameter'
"""
measurement_cmd_val = self._cmd_group.get_repcap_cmd_value(measurement, repcap.Measurement)
response = self._core.io.query_str_with_opc(f'MEASurement{measurement_cmd_val}:ONViolation:RUNexec?')
return Conversions.str_to_scalar_enum(response, enums.BeepMode)