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 TieSlopeCls:
"""
| Commands in total: 1
| Subgroups: 0
| Direct child commands: 1
"""
def __init__(self, core: Core, parent):
self._core = core
self._cmd_group = CommandsGroup("tieSlope", core, parent)
[docs]
def set(self, jitter_ties_lp: enums.Edge, measurement=repcap.Measurement.Default, jitterSource=repcap.JitterSource.Default) -> None:
"""
``MEASurement<*>:JITTer:SOURce<*>:TIESlope`` \n
Snippet: ``driver.measurement.jitter.source.tieSlope.set(jitter_ties_lp = enums.Edge.EITHer, measurement = repcap.Measurement.Default, jitterSource = repcap.JitterSource.Default)`` \n
Sets the clock and data edges that are used for measurements. Clock or data is defined by the SOURce suffix <n>.
The command is available for the following measurements: time-interval error, unit interval and data rate (method
``RsRtx.measurement.main.set()`` and/or method ``RsRtx.measurement.additional.set()`` are set to measurements TIE |
UINTerval | DRATe.
:param jitter_ties_lp: POSitive | NEGative | EITHer \n
- POSitive: The positive clock slope can be used, for example, for single data rate (SDR) signals with bit start at the positive clock edge.
- NEGative: The negative clock slope can be used, for example, for SDR signals with bit start at the negative clock edge.
- EITHer: For clock edges, this option can be used for double data rate (DDR) signals.For data edges, it is the most common setting.
:param measurement: optional repeated capability selector. Default value: Nr1 (settable in the interface 'Measurement')
:param jitterSource: optional repeated capability selector. Default value: Nr1 (settable in the interface 'Source')
"""
param = Conversions.enum_scalar_to_str(jitter_ties_lp, enums.Edge)
measurement_cmd_val = self._cmd_group.get_repcap_cmd_value(measurement, repcap.Measurement)
jitterSource_cmd_val = self._cmd_group.get_repcap_cmd_value(jitterSource, repcap.JitterSource)
self._core.io.write_with_opc(f'MEASurement{measurement_cmd_val}:JITTer:SOURce{jitterSource_cmd_val}:TIESlope {param}')
# noinspection PyTypeChecker
[docs]
def get(self, measurement=repcap.Measurement.Default, jitterSource=repcap.JitterSource.Default) -> enums.Edge:
"""
``MEASurement<*>:JITTer:SOURce<*>:TIESlope`` \n
Snippet: ``value: enums.Edge = driver.measurement.jitter.source.tieSlope.get(measurement = repcap.Measurement.Default, jitterSource = repcap.JitterSource.Default)`` \n
Sets the clock and data edges that are used for measurements. Clock or data is defined by the SOURce suffix <n>.
The command is available for the following measurements: time-interval error, unit interval and data rate (method
``RsRtx.measurement.main.set()`` and/or method ``RsRtx.measurement.additional.set()`` are set to measurements TIE |
UINTerval | DRATe.
:param measurement: optional repeated capability selector. Default value: Nr1 (settable in the interface 'Measurement')
:param jitterSource: optional repeated capability selector. Default value: Nr1 (settable in the interface 'Source')
"""
measurement_cmd_val = self._cmd_group.get_repcap_cmd_value(measurement, repcap.Measurement)
jitterSource_cmd_val = self._cmd_group.get_repcap_cmd_value(jitterSource, repcap.JitterSource)
response = self._core.io.query_str_with_opc(f'MEASurement{measurement_cmd_val}:JITTer:SOURce{jitterSource_cmd_val}:TIESlope?')
return Conversions.str_to_scalar_enum(response, enums.Edge)