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 SubModuleCls:
"""
| Commands in total: 1
| Subgroups: 0
| Direct child commands: 1
"""
def __init__(self, core: Core, parent):
self._core = core
self._cmd_group = CommandsGroup("subModule", core, parent)
[docs]
def set(self, value: enums.ProbeZmaModule, probe=repcap.Probe.Default, zma=repcap.Zma.Default) -> None:
"""
``PROBe<*>:DEEMbedding:TIPModule:ZMA<*>:SUBModule`` \n
Snippet: ``driver.probe.deembedding.tipModule.zma.subModule.set(value = enums.ProbeZmaModule.D16, probe = repcap.Probe.Default, zma = repcap.Zma.Default)`` \n
Defines additional settings for some tip modules: For the browser module R&S RT-ZMA30, measure the space between the pins,
and select the appropriate value. If R&S RT-ZMA40 is selected, choose the used submodule: semi-rigid cables or none.
:param value: For R&S RT-ZMA30: D16 = 1.6 mm D25 = 2.5 mm D45 = 4.5 mm D75 = 7.5 mm For R&S RT-ZMA40: NONE = no submodule SRCS = semi-rigid cables
:param probe: optional repeated capability selector. Default value: Nr1 (settable in the interface 'Probe')
:param zma: optional repeated capability selector. Default value: Nr30 (settable in the interface 'Zma')
"""
param = Conversions.enum_scalar_to_str(value, enums.ProbeZmaModule)
probe_cmd_val = self._cmd_group.get_repcap_cmd_value(probe, repcap.Probe)
zma_cmd_val = self._cmd_group.get_repcap_cmd_value(zma, repcap.Zma)
self._core.io.write_with_opc(f'PROBe{probe_cmd_val}:DEEMbedding:TIPModule:ZMA{zma_cmd_val}:SUBModule {param}')
# noinspection PyTypeChecker
[docs]
def get(self, probe=repcap.Probe.Default, zma=repcap.Zma.Default) -> enums.ProbeZmaModule:
"""
``PROBe<*>:DEEMbedding:TIPModule:ZMA<*>:SUBModule`` \n
Snippet: ``value: enums.ProbeZmaModule = driver.probe.deembedding.tipModule.zma.subModule.get(probe = repcap.Probe.Default, zma = repcap.Zma.Default)`` \n
Defines additional settings for some tip modules: For the browser module R&S RT-ZMA30, measure the space between the pins,
and select the appropriate value. If R&S RT-ZMA40 is selected, choose the used submodule: semi-rigid cables or none.
:param probe: optional repeated capability selector. Default value: Nr1 (settable in the interface 'Probe')
:param zma: optional repeated capability selector. Default value: Nr30 (settable in the interface 'Zma')
:return: value: For R&S RT-ZMA30: D16 = 1.6 mm D25 = 2.5 mm D45 = 4.5 mm D75 = 7.5 mm For R&S RT-ZMA40: NONE = no submodule SRCS = semi-rigid cables
"""
probe_cmd_val = self._cmd_group.get_repcap_cmd_value(probe, repcap.Probe)
zma_cmd_val = self._cmd_group.get_repcap_cmd_value(zma, repcap.Zma)
response = self._core.io.query_str_with_opc(f'PROBe{probe_cmd_val}:DEEMbedding:TIPModule:ZMA{zma_cmd_val}:SUBModule?')
return Conversions.str_to_scalar_enum(response, enums.ProbeZmaModule)