from ....Internal.Core import Core
from ....Internal.CommandsGroup import CommandsGroup
from ....Internal import Conversions
from .... import enums
# noinspection PyPep8Naming,PyAttributeOutsideInit,SpellCheckingInspection
class NrSubMeasCls:
"""
| Commands in total: 335
| Subgroups: 12
| Direct child commands: 6
"""
def __init__(self, core: Core, parent):
self._core = core
self._cmd_group = CommandsGroup("nrSubMeas", core, parent)
@property
def multiEval(self):
"""
| Commands in total: 152
| Subgroups: 16
| Direct child commands: 23
"""
if not hasattr(self, '_multiEval'):
from .MultiEval import MultiEvalCls
self._multiEval = MultiEvalCls(self._core, self._cmd_group)
return self._multiEval
@property
def network(self):
"""
| Commands in total: 12
| Subgroups: 4
| Direct child commands: 6
"""
if not hasattr(self, '_network'):
from .Network import NetworkCls
self._network = NetworkCls(self._core, self._cmd_group)
return self._network
@property
def bwConfig(self):
"""
| Commands in total: 1
| Subgroups: 1
| Direct child commands: 0
"""
if not hasattr(self, '_bwConfig'):
from .BwConfig import BwConfigCls
self._bwConfig = BwConfigCls(self._core, self._cmd_group)
return self._bwConfig
@property
def rfSettings(self):
"""
| Commands in total: 8
| Subgroups: 2
| Direct child commands: 6
"""
if not hasattr(self, '_rfSettings'):
from .RfSettings import RfSettingsCls
self._rfSettings = RfSettingsCls(self._core, self._cmd_group)
return self._rfSettings
@property
def ulDl(self):
"""
| Commands in total: 2
| Subgroups: 1
| Direct child commands: 1
"""
if not hasattr(self, '_ulDl'):
from .UlDl import UlDlCls
self._ulDl = UlDlCls(self._core, self._cmd_group)
return self._ulDl
@property
def cc(self):
"""
| Commands in total: 48
| Subgroups: 14
| Direct child commands: 0
"""
if not hasattr(self, '_cc'):
from .Cc import CcCls
self._cc = CcCls(self._core, self._cmd_group)
return self._cc
@property
def ccall(self):
"""
| Commands in total: 1
| Subgroups: 1
| Direct child commands: 0
"""
if not hasattr(self, '_ccall'):
from .Ccall import CcallCls
self._ccall = CcallCls(self._core, self._cmd_group)
return self._ccall
@property
def caggregation(self):
"""
| Commands in total: 7
| Subgroups: 3
| Direct child commands: 2
"""
if not hasattr(self, '_caggregation'):
from .Caggregation import CaggregationCls
self._caggregation = CaggregationCls(self._core, self._cmd_group)
return self._caggregation
@property
def listPy(self):
"""
| Commands in total: 19
| Subgroups: 2
| Direct child commands: 0
"""
if not hasattr(self, '_listPy'):
from .ListPy import ListPyCls
self._listPy = ListPyCls(self._core, self._cmd_group)
return self._listPy
@property
def prach(self):
"""
| Commands in total: 41
| Subgroups: 7
| Direct child commands: 12
"""
if not hasattr(self, '_prach'):
from .Prach import PrachCls
self._prach = PrachCls(self._core, self._cmd_group)
return self._prach
@property
def srs(self):
"""
| Commands in total: 32
| Subgroups: 6
| Direct child commands: 7
"""
if not hasattr(self, '_srs'):
from .Srs import SrsCls
self._srs = SrsCls(self._core, self._cmd_group)
return self._srs
@property
def tpc(self):
"""
| Commands in total: 6
| Subgroups: 1
| Direct child commands: 4
"""
if not hasattr(self, '_tpc'):
from .Tpc import TpcCls
self._tpc = TpcCls(self._core, self._cmd_group)
return self._tpc
[docs]
def get_nantenna(self) -> int:
"""
``CONFigure:NRSub:MEASurement<Instance>:NANTenna`` \n
Snippet: ``value: int = driver.configure.nrSubMeas.get_nantenna()`` \n
Selects the number of UE TX antennas to be measured.
:return: number: numeric
"""
response = self._core.io.query_str('CONFigure:NRSub:MEASurement<Instance>:NANTenna?')
return Conversions.str_to_int(response)
[docs]
def set_nantenna(self, number: int) -> None:
"""
``CONFigure:NRSub:MEASurement<Instance>:NANTenna`` \n
Snippet: ``driver.configure.nrSubMeas.set_nantenna(number = 1)`` \n
Selects the number of UE TX antennas to be measured.
:param number: numeric
"""
param = Conversions.decimal_value_to_str(number)
self._core.io.write(f'CONFigure:NRSub:MEASurement<Instance>:NANTenna {param}')
# noinspection PyTypeChecker
[docs]
def get_stype(self) -> enums.SignalType:
"""
``CONFigure:NRSub:MEASurement<Instance>:STYPe`` \n
Snippet: ``value: enums.SignalType = driver.configure.nrSubMeas.get_stype()`` \n
Selects the type of the measured signal.
:return: signal_type: UL: NR FR1 uplink signal SL: NR C-V2X sidelink signal
"""
response = self._core.io.query_str('CONFigure:NRSub:MEASurement<Instance>:STYPe?')
return Conversions.str_to_scalar_enum(response, enums.SignalType)
[docs]
def set_stype(self, signal_type: enums.SignalType) -> None:
"""
``CONFigure:NRSub:MEASurement<Instance>:STYPe`` \n
Snippet: ``driver.configure.nrSubMeas.set_stype(signal_type = enums.SignalType.SL)`` \n
Selects the type of the measured signal.
:param signal_type: UL: NR FR1 uplink signal SL: NR C-V2X sidelink signal
"""
param = Conversions.enum_scalar_to_str(signal_type, enums.SignalType)
self._core.io.write(f'CONFigure:NRSub:MEASurement<Instance>:STYPe {param}')
# noinspection PyTypeChecker
[docs]
def get_band(self) -> enums.Band:
"""
``CONFigure:NRSub:MEASurement<Instance>:BAND`` \n
Snippet: ``value: enums.Band = driver.configure.nrSubMeas.get_band()`` \n
Selects the operating band (OB) . The allowed input range depends on the duplex mode (FDD or TDD) .
:return: band: TDD UL: OB34 | OB38 | ... | OB41 | OB46 | OB47 | OB48 | OB50 | OB51 | OB53 | OB77 | ... | OB84 | OB86 | OB89 | OB90 | OB95 | ... | OB99 | OB101 | OB104 Sidelink: OB14 | OB38 | OB47 | OB79
"""
response = self._core.io.query_str('CONFigure:NRSub:MEASurement<Instance>:BAND?')
return Conversions.str_to_scalar_enum(response, enums.Band)
[docs]
def set_band(self, band: enums.Band) -> None:
"""
``CONFigure:NRSub:MEASurement<Instance>:BAND`` \n
Snippet: ``driver.configure.nrSubMeas.set_band(band = enums.Band.OB1)`` \n
Selects the operating band (OB) . The allowed input range depends on the duplex mode (FDD or TDD) .
:param band: TDD UL: OB34 | OB38 | ... | OB41 | OB46 | OB47 | OB48 | OB50 | OB51 | OB53 | OB77 | ... | OB84 | OB86 | OB89 | OB90 | OB95 | ... | OB99 | OB101 | OB104 Sidelink: OB14 | OB38 | OB47 | OB79
"""
param = Conversions.enum_scalar_to_str(band, enums.Band)
self._core.io.write(f'CONFigure:NRSub:MEASurement<Instance>:BAND {param}')
# noinspection PyTypeChecker
[docs]
def get_spath(self) -> enums.SignalPath:
"""
``CONFigure:NRSub:MEASurement<Instance>:SPATh`` \n
Snippet: ``value: enums.SignalPath = driver.configure.nrSubMeas.get_spath()`` \n
No help available
"""
response = self._core.io.query_str('CONFigure:NRSub:MEASurement<Instance>:SPATh?')
return Conversions.str_to_scalar_enum(response, enums.SignalPath)
[docs]
def set_spath(self, path: enums.SignalPath) -> None:
"""
``CONFigure:NRSub:MEASurement<Instance>:SPATh`` \n
Snippet: ``driver.configure.nrSubMeas.set_spath(path = enums.SignalPath.NETWork)`` \n
No help available
"""
param = Conversions.enum_scalar_to_str(path, enums.SignalPath)
self._core.io.write(f'CONFigure:NRSub:MEASurement<Instance>:SPATh {param}')
[docs]
def get_ntn(self) -> bool:
"""
``CONFigure:NRSub:MEASurement<Instance>:NTN`` \n
Snippet: ``value: bool = driver.configure.nrSubMeas.get_ntn()`` \n
Enables the non-terrestrial network (NTN) mode.
:return: enable: OFF | ON
"""
response = self._core.io.query_str('CONFigure:NRSub:MEASurement<Instance>:NTN?')
return Conversions.str_to_bool(response)
[docs]
def set_ntn(self, enable: bool) -> None:
"""
``CONFigure:NRSub:MEASurement<Instance>:NTN`` \n
Snippet: ``driver.configure.nrSubMeas.set_ntn(enable = False)`` \n
Enables the non-terrestrial network (NTN) mode.
:param enable: OFF | ON
"""
param = Conversions.bool_to_str(enable)
self._core.io.write(f'CONFigure:NRSub:MEASurement<Instance>:NTN {param}')
[docs]
def get_ncarrier(self) -> int:
"""
``CONFigure:NRSub:MEASurement<Instance>:NCARrier`` \n
Snippet: ``value: int = driver.configure.nrSubMeas.get_ncarrier()`` \n
Configures the number of contiguously aggregated UL carriers in the measured signal.
:return: number: numeric
"""
response = self._core.io.query_str('CONFigure:NRSub:MEASurement<Instance>:NCARrier?')
return Conversions.str_to_int(response)
[docs]
def set_ncarrier(self, number: int) -> None:
"""
``CONFigure:NRSub:MEASurement<Instance>:NCARrier`` \n
Snippet: ``driver.configure.nrSubMeas.set_ncarrier(number = 1)`` \n
Configures the number of contiguously aggregated UL carriers in the measured signal.
:param number: numeric
"""
param = Conversions.decimal_value_to_str(number)
self._core.io.write(f'CONFigure:NRSub:MEASurement<Instance>:NCARrier {param}')
def clone(self) -> 'NrSubMeasCls':
"""
Clones the group by creating new object from it and its whole existing subgroups.
Also copies all the existing default Repeated Capabilities setting,
which you can change independently without affecting the original group.
"""
new_group = NrSubMeasCls(self._core, self._cmd_group.parent)
self._cmd_group.synchronize_repcaps(new_group)
return new_group