from .......Internal.Core import Core
from .......Internal.CommandsGroup import CommandsGroup
from .......Internal.Types import DataType
from .......Internal.StructBase import StructBase
from .......Internal.ArgStruct import ArgStruct
from .......Internal.ArgSingleList import ArgSingleList
from .......Internal.ArgSingle import ArgSingle
# noinspection PyPep8Naming,PyAttributeOutsideInit,SpellCheckingInspection
class CaggregationCls:
"""
| Commands in total: 1
| Subgroups: 0
| Direct child commands: 1
"""
def __init__(self, core: Core, parent):
self._core = core
self._cmd_group = CommandsGroup("caggregation", core, parent)
[docs]
def set(self, relative_level: float | bool, absolute_level: float | bool) -> None:
"""
``CONFigure:NRSub:MEASurement<Instance>:MEValuation:LIMit:ACLR:CAGGregation`` \n
Snippet: ``driver.configure.nrSubMeas.multiEval.limit.aclr.caggregation.set(relative_level = 1.0, absolute_level = 1.0)`` \n
Defines relative and absolute limits for the ACLR measured in an adjacent aggregated channel bandwidth, for NR SA with
carrier aggregation.
:param relative_level: (float or boolean) Relative lower ACLR limit without test tolerance
:param absolute_level: (float or boolean) numeric | ON | OFF
"""
param = ArgSingleList().compose_cmd_string(ArgSingle('relative_level', relative_level, DataType.FloatExt), ArgSingle('absolute_level', absolute_level, DataType.FloatExt))
self._core.io.write(f'CONFigure:NRSub:MEASurement<Instance>:MEValuation:LIMit:ACLR:CAGGregation {param}'.rstrip())
# noinspection PyTypeChecker
[docs]
class CaggregationStruct(StructBase):
"""
Response structure. Fields: \n
- 1 Relative_Level: float | bool: Relative lower ACLR limit without test tolerance
- 2 Absolute_Level: float | bool: numeric | ON | OFF
"""
__meta_args_list = [
ArgStruct.scalar_float_ext('Relative_Level'),
ArgStruct.scalar_float_ext('Absolute_Level')]
def __init__(self):
StructBase.__init__(self, self)
self.Relative_Level: float | bool = None
self.Absolute_Level: float | bool = None
[docs]
def get(self) -> CaggregationStruct:
"""
``CONFigure:NRSub:MEASurement<Instance>:MEValuation:LIMit:ACLR:CAGGregation`` \n
Snippet: ``value: CaggregationStruct = driver.configure.nrSubMeas.multiEval.limit.aclr.caggregation.get()`` \n
Defines relative and absolute limits for the ACLR measured in an adjacent aggregated channel bandwidth, for NR SA with
carrier aggregation.
:return: structure: for return value, see the help for CaggregationStruct structure arguments.
"""
return self._core.io.query_struct(f'CONFigure:NRSub:MEASurement<Instance>:MEValuation:LIMit:ACLR:CAGGregation?', self.__class__.CaggregationStruct())