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 CcSlopeCls:
"""
| Commands in total: 1
| Subgroups: 0
| Direct child commands: 1
"""
def __init__(self, core: Core, parent):
self._core = core
self._cmd_group = CommandsGroup("ccSlope", core, parent)
[docs]
def set(self, jitter_ccs_lope: enums.SignalSlope, measurement=repcap.Measurement.Default) -> None:
"""
``MEASurement<*>:JITTer:CCSLope`` \n
Snippet: ``driver.measurement.jitter.ccSlope.set(jitter_ccs_lope = enums.SignalSlope.EITHer, measurement = repcap.Measurement.Default)`` \n
Selects the slope at which the periods and thus the jitter is measured. The command is available for the following
measurements: cycle-cycle jitter, N-cycle jitter, and cycle-cycle duty cycle (method ``RsRtx.measurement.main.set()``
and/or method ``RsRtx.measurement.additional.set()`` are set to measurements CCJitter | NCJitter | CCDutycycle) .
:param jitter_ccs_lope: FIRSt | POSitive | NEGative | EITHer \n
- FIRSt: Measures the period from the first edge that is found, no matter of its direction.
- POSitive: Measures the period at positive going edges.
- NEGative: Measures the period at negative going edges.
- EITHer: Measures the period at both positive and negative going edges. This option is useful, for example, to check the clock stability of a double data rate clock.
:param measurement: optional repeated capability selector. Default value: Nr1 (settable in the interface 'Measurement')
"""
param = Conversions.enum_scalar_to_str(jitter_ccs_lope, enums.SignalSlope)
measurement_cmd_val = self._cmd_group.get_repcap_cmd_value(measurement, repcap.Measurement)
self._core.io.write_with_opc(f'MEASurement{measurement_cmd_val}:JITTer:CCSLope {param}')
# noinspection PyTypeChecker
[docs]
def get(self, measurement=repcap.Measurement.Default) -> enums.SignalSlope:
"""
``MEASurement<*>:JITTer:CCSLope`` \n
Snippet: ``value: enums.SignalSlope = driver.measurement.jitter.ccSlope.get(measurement = repcap.Measurement.Default)`` \n
Selects the slope at which the periods and thus the jitter is measured. The command is available for the following
measurements: cycle-cycle jitter, N-cycle jitter, and cycle-cycle duty cycle (method ``RsRtx.measurement.main.set()``
and/or method ``RsRtx.measurement.additional.set()`` are set to measurements CCJitter | NCJitter | CCDutycycle) .
:param measurement: optional repeated capability selector. Default value: Nr1 (settable in the interface 'Measurement')
:return: jitter_ccs_lope: FIRSt | POSitive | NEGative | EITHer \n
- FIRSt: Measures the period from the first edge that is found, no matter of its direction.
- POSitive: Measures the period at positive going edges.
- NEGative: Measures the period at negative going edges.
- EITHer: Measures the period at both positive and negative going edges. This option is useful, for example, to check the clock stability of a double data rate clock.
"""
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}:JITTer:CCSLope?')
return Conversions.str_to_scalar_enum(response, enums.SignalSlope)