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 ModulationCls:
"""
| Commands in total: 1
| Subgroups: 0
| Direct child commands: 1
"""
def __init__(self, core: Core, parent):
self._core = core
self._cmd_group = CommandsGroup("modulation", core, parent)
[docs]
def set(self, modulation: enums.UlModulation, subframeNull=repcap.SubframeNull.Default, allocationNull=repcap.AllocationNull.Default) -> None:
"""
``[SOURce<HW>]:BB:V5G:UL:[SUBF<ST0>]:ALLoc<CH0>:[XPUSch]:MODulation`` \n
Snippet: ``driver.source.bb.v5G.uplink.subf.alloc.xpusch.modulation.set(modulation = enums.UlModulation.PSK8, subframeNull = repcap.SubframeNull.Default, allocationNull = repcap.AllocationNull.Default)`` \n
Selects the modulation scheme for the specified allocation.
:param modulation: QPSK | QAM16 | QAM64 | PSK8 | QAM256
:param subframeNull: optional repeated capability selector. Default value: Nr0 (settable in the interface 'Subf')
:param allocationNull: optional repeated capability selector. Default value: Nr0 (settable in the interface 'Alloc')
"""
param = Conversions.enum_scalar_to_str(modulation, enums.UlModulation)
subframeNull_cmd_val = self._cmd_group.get_repcap_cmd_value(subframeNull, repcap.SubframeNull)
allocationNull_cmd_val = self._cmd_group.get_repcap_cmd_value(allocationNull, repcap.AllocationNull)
self._core.io.write(f'SOURce<HwInstance>:BB:V5G:UL:SUBF{subframeNull_cmd_val}:ALLoc{allocationNull_cmd_val}:XPUSch:MODulation {param}')
# noinspection PyTypeChecker
[docs]
def get(self, subframeNull=repcap.SubframeNull.Default, allocationNull=repcap.AllocationNull.Default) -> enums.UlModulation:
"""
``[SOURce<HW>]:BB:V5G:UL:[SUBF<ST0>]:ALLoc<CH0>:[XPUSch]:MODulation`` \n
Snippet: ``value: enums.UlModulation = driver.source.bb.v5G.uplink.subf.alloc.xpusch.modulation.get(subframeNull = repcap.SubframeNull.Default, allocationNull = repcap.AllocationNull.Default)`` \n
Selects the modulation scheme for the specified allocation.
:param subframeNull: optional repeated capability selector. Default value: Nr0 (settable in the interface 'Subf')
:param allocationNull: optional repeated capability selector. Default value: Nr0 (settable in the interface 'Alloc')
:return: modulation: QPSK | QAM16 | QAM64 | PSK8 | QAM256
"""
subframeNull_cmd_val = self._cmd_group.get_repcap_cmd_value(subframeNull, repcap.SubframeNull)
allocationNull_cmd_val = self._cmd_group.get_repcap_cmd_value(allocationNull, repcap.AllocationNull)
response = self._core.io.query_str(f'SOURce<HwInstance>:BB:V5G:UL:SUBF{subframeNull_cmd_val}:ALLoc{allocationNull_cmd_val}:XPUSch:MODulation?')
return Conversions.str_to_scalar_enum(response, enums.UlModulation)