from ....Internal.Core import Core
from ....Internal.CommandsGroup import CommandsGroup
from ....Internal import Conversions
from .... import repcap
# noinspection PyPep8Naming,PyAttributeOutsideInit,SpellCheckingInspection
class StimeCls:
"""
| Commands in total: 1
| Subgroups: 0
| Direct child commands: 1
"""
def __init__(self, core: Core, parent):
self._core = core
self._cmd_group = CommandsGroup("stime", core, parent)
[docs]
def set(self, setup_time: float, trigger=repcap.Trigger.Default) -> None:
"""
``TRIGger<*>:SETHold:STIMe`` \n
Snippet: ``driver.trigger.setHold.stime.set(setup_time = 1.0, trigger = repcap.Trigger.Default)`` \n
Sets the minimum time before the clock edge while the data signal must stay steady above or below the data level.
The setup time can be negative. In this case, the hold time is always positive. The setup/hold interval starts after the
clock edge (setup time) and ends after the clock edge (hold time) . If you change the negative setup time, the hold time
is adjusted by the instrument.
:param setup_time: -99.999E-9 to 100E-9
:param trigger: optional repeated capability selector. Default value: Nr1 (settable in the interface 'Trigger')
"""
param = Conversions.decimal_value_to_str(setup_time)
trigger_cmd_val = self._cmd_group.get_repcap_cmd_value(trigger, repcap.Trigger)
self._core.io.write_with_opc(f'TRIGger{trigger_cmd_val}:SETHold:STIMe {param}')
[docs]
def get(self, trigger=repcap.Trigger.Default) -> float:
"""
``TRIGger<*>:SETHold:STIMe`` \n
Snippet: ``value: float = driver.trigger.setHold.stime.get(trigger = repcap.Trigger.Default)`` \n
Sets the minimum time before the clock edge while the data signal must stay steady above or below the data level.
The setup time can be negative. In this case, the hold time is always positive. The setup/hold interval starts after the
clock edge (setup time) and ends after the clock edge (hold time) . If you change the negative setup time, the hold time
is adjusted by the instrument.
:param trigger: optional repeated capability selector. Default value: Nr1 (settable in the interface 'Trigger')
:return: setup_time: -99.999E-9 to 100E-9
"""
trigger_cmd_val = self._cmd_group.get_repcap_cmd_value(trigger, repcap.Trigger)
response = self._core.io.query_str_with_opc(f'TRIGger{trigger_cmd_val}:SETHold:STIMe?')
return Conversions.str_to_float(response)