from typing import List
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 ....... import repcap
# noinspection PyPep8Naming,PyAttributeOutsideInit,SpellCheckingInspection
[docs]
class RmsCls:
"""Rms commands group definition. 1 total commands, 0 Subgroups, 1 group commands"""
def __init__(self, core: Core, parent):
self._core = core
self._cmd_group = CommandsGroup("rms", core, parent)
# noinspection PyTypeChecker
[docs]
class FetchStruct(StructBase):
"""Response structure. Fields: \n
- Reliability: int: 'Reliability indicator'
- Seg_Reliability: int: Reliability indicator for the segment
- Step_Rms_Power: List[float]: Comma-separated list of power values, one value per subframe, from first to last subframe of the segment For an inactive segment, only one INV is returned, independent of the number of configured subframes."""
__meta_args_list = [
ArgStruct.scalar_int('Reliability', 'Reliability'),
ArgStruct.scalar_int('Seg_Reliability'),
ArgStruct('Step_Rms_Power', DataType.FloatList, None, False, True, 1)]
def __init__(self):
StructBase.__init__(self, self)
self.Reliability: int = None
self.Seg_Reliability: int = None
self.Step_Rms_Power: List[float] = None
[docs]
def fetch(self, sEGMent=repcap.SEGMent.Default) -> FetchStruct:
"""SCPI: FETCh:NRSub:MEASurement<Instance>:MEValuation:LIST:SEGMent<nr6g>:PMONitor:RMS \n
Snippet: value: FetchStruct = driver.nrSubMeas.multiEval.listPy.segment.pmonitor.rms.fetch(sEGMent = repcap.SEGMent.Default) \n
Return the power monitor vs subframe results for segment <no> in list mode. The commands return one power result for each
subframe of the segment for the measured carrier. The power values are RMS averaged over the subframe or represent the
peak value within the subframe. \n
:param sEGMent: optional repeated capability selector. Default value: Nr1 (settable in the interface 'Segment')
:return: structure: for return value, see the help for FetchStruct structure arguments."""
sEGMent_cmd_val = self._cmd_group.get_repcap_cmd_value(sEGMent, repcap.SEGMent)
return self._core.io.query_struct(f'FETCh:NRSub:MEASurement<Instance>:MEValuation:LIST:SEGMent{sEGMent_cmd_val}:PMONitor:RMS?', self.__class__.FetchStruct())