from typing import List
from .......Internal.Core import Core
from .......Internal.CommandsGroup import CommandsGroup
from .......Internal.ArgSingleSuppressed import ArgSingleSuppressed
from .......Internal.Types import DataType
from .......Internal.ArgSingleList import ArgSingleList
from .......Internal.ArgSingle import ArgSingle
# noinspection PyPep8Naming,PyAttributeOutsideInit,SpellCheckingInspection
[docs]
class MaskCls:
"""Mask commands group definition. 8 total commands, 2 Subgroups, 2 group commands"""
def __init__(self, core: Core, parent):
self._core = core
self._cmd_group = CommandsGroup("mask", core, parent)
@property
def mimo(self):
"""mimo commands group. 1 Sub-classes, 2 commands."""
if not hasattr(self, '_mimo'):
from .Mimo import MimoCls
self._mimo = MimoCls(self._core, self._cmd_group)
return self._mimo
@property
def segment(self):
"""segment commands group. 0 Sub-classes, 2 commands."""
if not hasattr(self, '_segment'):
from .Segment import SegmentCls
self._segment = SegmentCls(self._core, self._cmd_group)
return self._segment
[docs]
def read(self, start: float = None, count: float = None, decimation: float = None) -> List[float]:
"""SCPI: READ:WLAN:MEASurement<Instance>:MEValuation:TRACe:TSMask:MASK \n
Snippet: value: List[float] = driver.wlanMeas.multiEval.trace.tsMask.mask.read(start = 1.0, count = 1.0, decimation = 1.0) \n
Return the power values (Y-values) of the transmit spectrum mask limit line trace, for SISO measurements and bandwidths
with one segment. \n
Suppressed linked return values: reliability \n
:param start: For the optional query parameters start, count and decimation, see 'Trace subarrays'.
:param count: For the optional query parameters start, count and decimation, see 'Trace subarrays'.
:param decimation: For the optional query parameters start, count and decimation, see 'Trace subarrays'.
:return: spec_trace_mask: Comma-separated list of power values, trace from left to right"""
param = ArgSingleList().compose_cmd_string(ArgSingle('start', start, DataType.Float, None, is_optional=True), ArgSingle('count', count, DataType.Float, None, is_optional=True), ArgSingle('decimation', decimation, DataType.Float, None, is_optional=True))
suppressed = ArgSingleSuppressed(0, DataType.Integer, False, 1, 'Reliability')
response = self._core.io.query_bin_or_ascii_float_list_suppressed(f'READ:WLAN:MEASurement<Instance>:MEValuation:TRACe:TSMask:MASK? {param}'.rstrip(), suppressed)
return response
[docs]
def fetch(self, start: float = None, count: float = None, decimation: float = None) -> List[float]:
"""SCPI: FETCh:WLAN:MEASurement<Instance>:MEValuation:TRACe:TSMask:MASK \n
Snippet: value: List[float] = driver.wlanMeas.multiEval.trace.tsMask.mask.fetch(start = 1.0, count = 1.0, decimation = 1.0) \n
Return the power values (Y-values) of the transmit spectrum mask limit line trace, for SISO measurements and bandwidths
with one segment. \n
Suppressed linked return values: reliability \n
:param start: For the optional query parameters start, count and decimation, see 'Trace subarrays'.
:param count: For the optional query parameters start, count and decimation, see 'Trace subarrays'.
:param decimation: For the optional query parameters start, count and decimation, see 'Trace subarrays'.
:return: spec_trace_mask: Comma-separated list of power values, trace from left to right"""
param = ArgSingleList().compose_cmd_string(ArgSingle('start', start, DataType.Float, None, is_optional=True), ArgSingle('count', count, DataType.Float, None, is_optional=True), ArgSingle('decimation', decimation, DataType.Float, None, is_optional=True))
suppressed = ArgSingleSuppressed(0, DataType.Integer, False, 1, 'Reliability')
response = self._core.io.query_bin_or_ascii_float_list_suppressed(f'FETCh:WLAN:MEASurement<Instance>:MEValuation:TRACe:TSMask:MASK? {param}'.rstrip(), suppressed)
return response
def clone(self) -> 'MaskCls':
"""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 = MaskCls(self._core, self._cmd_group.parent)
self._cmd_group.synchronize_repcaps(new_group)
return new_group