from .....Internal.Core import Core
from .....Internal.CommandsGroup import CommandsGroup
from .....Internal.StructBase import StructBase
from .....Internal.ArgStruct import ArgStruct
from ..... import enums
from ..... import repcap
# noinspection PyPep8Naming,PyAttributeOutsideInit,SpellCheckingInspection
[docs]class Ber:
"""Ber commands group definition. 1 total commands, 0 Sub-groups, 1 group commands"""
def __init__(self, core: Core, parent):
self._core = core
self._base = CommandsGroup("ber", core, parent)
# noinspection PyTypeChecker
[docs] class FetchStruct(StructBase):
"""Response structure. Fields: \n
- Reliability: int: decimal 'Reliability Indicator' In list mode, a zero reliability indicator indicates that the results in all measured segments are valid. A non-zero value indicates that an error occurred in at least one of the measured segments.
- Seg_Reliability: int: decimal Reliability indicator for the segment. The meaning of the returned values is the same as for the common reliability indicator, see previous parameter.
- Statistic_Expire: int: No parameter help available
- Slot_Info: enums.SlotInfo: No parameter help available
- Slot_Statistic: bool: ON | OFF ON: Averaging over different burst type OFF: Uniform burst type in the averaging range
- Ber: float: float % bit error rate Range: 0 % to 100 %, Unit: %
- Ber_Absolute: int or bool: decimal Total number of detected bit errors The BER measurement evaluates: 114 data bits per GMSK-modulated normal burst 306 data bits per 8PSK-modulated burst. Range: 0 to no. of measured bits
- Ber_Count: int or bool: decimal Total number of measured bursts Range: 0 to StatisticCount For StatisticCount, see [CMDLINK: CONFigure:GSM:MEASi:MEValuation:SCOunt:BER CMDLINK]"""
__meta_args_list = [
ArgStruct.scalar_int('Reliability', 'Reliability'),
ArgStruct.scalar_int('Seg_Reliability'),
ArgStruct.scalar_int('Statistic_Expire'),
ArgStruct.scalar_enum('Slot_Info', enums.SlotInfo),
ArgStruct.scalar_bool('Slot_Statistic'),
ArgStruct.scalar_float('Ber'),
ArgStruct.scalar_int_ext('Ber_Absolute'),
ArgStruct.scalar_int_ext('Ber_Count')]
def __init__(self):
StructBase.__init__(self, self)
self.Reliability: int = None
self.Seg_Reliability: int = None
self.Statistic_Expire: int = None
self.Slot_Info: enums.SlotInfo = None
self.Slot_Statistic: bool = None
self.Ber: float = None
self.Ber_Absolute: int or bool = None
self.Ber_Count: int or bool = None
[docs] def fetch(self, segment=repcap.Segment.Default) -> FetchStruct:
"""SCPI: FETCh:GSM:MEASurement<Instance>:MEValuation:LIST:SEGMent<nr>:BER \n
Snippet: value: FetchStruct = driver.multiEval.listPy.segment.ber.fetch(segment = repcap.Segment.Default) \n
Returns the BER results for segment <no> in list mode. \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._base.get_repcap_cmd_value(segment, repcap.Segment)
return self._core.io.query_struct(f'FETCh:GSM:MEASurement<Instance>:MEValuation:LIST:SEGMent{segment_cmd_val}:BER?', self.__class__.FetchStruct())