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 EnableCls:
"""
| Commands in total: 1
| Subgroups: 0
| Direct child commands: 1
"""
def __init__(self, core: Core, parent):
self._core = core
self._cmd_group = CommandsGroup("enable", core, parent)
[docs]
def set(self, src_nrz_enable: enums.SignalSource, bus=repcap.Bus.Default) -> None:
"""
``BUS<*>:CMSB:NRZ:ENBLe`` \n
Snippet: ``driver.bus.cmsb.nrz.enable.set(src_nrz_enable = enums.SignalSource.AJ1, bus = repcap.Bus.Default)`` \n
Selects the input source for the custom serial bus enable signal. If an input is chosen, signals will be only decoded
while this channel is in the enabled state. This allows you to mark a time when the signal on the selected source is
active and when not. For triggering on a serial bus, analog channels C1–C4 are required. Otherwise, if no serial bus
trigger has been selected, permitted source selections include the mathematical channels and the reference channels.
:param src_nrz_enable: C1W1 | C2W1 | C3W1 | C4W1 | M1 | M2 | M3 | M4 | M5 | M6 | M7 | M8 | R1 | R2 | R3 | R4| D0 | D1 | D2 | D3 | D4 | D5 | D6 | D7 | D8 | D9 | D10 | D11 | D12 | D13 | D14 | D15
:param bus: optional repeated capability selector. Default value: Nr1 (settable in the interface 'Bus')
"""
param = Conversions.enum_scalar_to_str(src_nrz_enable, enums.SignalSource)
bus_cmd_val = self._cmd_group.get_repcap_cmd_value(bus, repcap.Bus)
self._core.io.write(f'BUS{bus_cmd_val}:CMSB:NRZ:ENBLe {param}')
# noinspection PyTypeChecker
[docs]
def get(self, bus=repcap.Bus.Default) -> enums.SignalSource:
"""
``BUS<*>:CMSB:NRZ:ENBLe`` \n
Snippet: ``value: enums.SignalSource = driver.bus.cmsb.nrz.enable.get(bus = repcap.Bus.Default)`` \n
Selects the input source for the custom serial bus enable signal. If an input is chosen, signals will be only decoded
while this channel is in the enabled state. This allows you to mark a time when the signal on the selected source is
active and when not. For triggering on a serial bus, analog channels C1–C4 are required. Otherwise, if no serial bus
trigger has been selected, permitted source selections include the mathematical channels and the reference channels.
:param bus: optional repeated capability selector. Default value: Nr1 (settable in the interface 'Bus')
:return: src_nrz_enable: C1W1 | C2W1 | C3W1 | C4W1 | M1 | M2 | M3 | M4 | M5 | M6 | M7 | M8 | R1 | R2 | R3 | R4| D0 | D1 | D2 | D3 | D4 | D5 | D6 | D7 | D8 | D9 | D10 | D11 | D12 | D13 | D14 | D15
"""
bus_cmd_val = self._cmd_group.get_repcap_cmd_value(bus, repcap.Bus)
response = self._core.io.query_str(f'BUS{bus_cmd_val}:CMSB:NRZ:ENBLe?')
return Conversions.str_to_scalar_enum(response, enums.SignalSource)