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 SourceCls:
"""
| Commands in total: 1
| Subgroups: 0
| Direct child commands: 1
"""
def __init__(self, core: Core, parent):
self._core = core
self._cmd_group = CommandsGroup("source", core, parent)
[docs]
def set(self, source_cp: enums.SignalSource, bus=repcap.Bus.Default) -> None:
"""
``BUS<*>:DPHY:CP:SOURce`` \n
Snippet: ``driver.bus.dphy.cp.source.set(source_cp = enums.SignalSource.AJ1, bus = repcap.Bus.Default)`` \n
Selects the source of the clock lane. Usually, the source is one of the analog channels. Reference and math waveforms are
available as source if the trigger source is one of the analog channels but not the serial bus. Alternatively, digital
channels can be used if MSO option R&S RTO6-B1 is installed. Digital and analog channels cannot be used at the same time.
For triggering on a serial bus, analog or digital channel sources are required.
:param source_cp: NONE | C1W1 | C2W1 | C3W1 | C4W1 | M1 | M2 | M3 | M4 | M5 | M6 | M7 | M8 | R1 | R2 | R3 | R4
:param bus: optional repeated capability selector. Default value: Nr1 (settable in the interface 'Bus')
"""
param = Conversions.enum_scalar_to_str(source_cp, enums.SignalSource)
bus_cmd_val = self._cmd_group.get_repcap_cmd_value(bus, repcap.Bus)
self._core.io.write(f'BUS{bus_cmd_val}:DPHY:CP:SOURce {param}')
# noinspection PyTypeChecker
[docs]
def get(self, bus=repcap.Bus.Default) -> enums.SignalSource:
"""
``BUS<*>:DPHY:CP:SOURce`` \n
Snippet: ``value: enums.SignalSource = driver.bus.dphy.cp.source.get(bus = repcap.Bus.Default)`` \n
Selects the source of the clock lane. Usually, the source is one of the analog channels. Reference and math waveforms are
available as source if the trigger source is one of the analog channels but not the serial bus. Alternatively, digital
channels can be used if MSO option R&S RTO6-B1 is installed. Digital and analog channels cannot be used at the same time.
For triggering on a serial bus, analog or digital channel sources are required.
:param bus: optional repeated capability selector. Default value: Nr1 (settable in the interface 'Bus')
"""
bus_cmd_val = self._cmd_group.get_repcap_cmd_value(bus, repcap.Bus)
response = self._core.io.query_str(f'BUS{bus_cmd_val}:DPHY:CP:SOURce?')
return Conversions.str_to_scalar_enum(response, enums.SignalSource)