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 AlgorithmCls:
"""
| Commands in total: 1
| Subgroups: 0
| Direct child commands: 1
"""
def __init__(self, core: Core, parent):
self._core = core
self._cmd_group = CommandsGroup("algorithm", core, parent)
[docs]
def set(self, algorithm_meas_eye_wdt: enums.MeasEyeHeightAlgorithm, measurement=repcap.Measurement.Default) -> None:
"""
``MEASurement<*>:EYEJitter:EYEWidth:ALGorithm`` \n
Snippet: ``driver.measurement.eyeJitter.eyeWidth.algorithm.set(algorithm_meas_eye_wdt = enums.MeasEyeHeightAlgorithm.ACTHeight, measurement = repcap.Measurement.Default)`` \n
Selects the algorithm for the measurement of the width. This settings is relevant,
if method ``RsRtx.measurement.main.set()`` is set to EWIDth.
:param algorithm_meas_eye_wdt: ACTWidth | AWMWindow | MAXWidth | TSIGma \n
- ACTWidth: Measure actual width at crossing level.
- AWMWindow: Measure actual width (meas. window)
- MAXWidth: Maximum width
- TSIGma: Extrapolate using three sigma. The eye width is measured at the crossing level.
:param measurement: optional repeated capability selector. Default value: Nr1 (settable in the interface 'Measurement')
"""
param = Conversions.enum_scalar_to_str(algorithm_meas_eye_wdt, enums.MeasEyeHeightAlgorithm)
measurement_cmd_val = self._cmd_group.get_repcap_cmd_value(measurement, repcap.Measurement)
self._core.io.write_with_opc(f'MEASurement{measurement_cmd_val}:EYEJitter:EYEWidth:ALGorithm {param}')
# noinspection PyTypeChecker
[docs]
def get(self, measurement=repcap.Measurement.Default) -> enums.MeasEyeHeightAlgorithm:
"""
``MEASurement<*>:EYEJitter:EYEWidth:ALGorithm`` \n
Snippet: ``value: enums.MeasEyeHeightAlgorithm = driver.measurement.eyeJitter.eyeWidth.algorithm.get(measurement = repcap.Measurement.Default)`` \n
Selects the algorithm for the measurement of the width. This settings is relevant,
if method ``RsRtx.measurement.main.set()`` is set to EWIDth.
:param measurement: optional repeated capability selector. Default value: Nr1 (settable in the interface 'Measurement')
"""
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}:EYEJitter:EYEWidth:ALGorithm?')
return Conversions.str_to_scalar_enum(response, enums.MeasEyeHeightAlgorithm)