Source code for RsCMPX_NrFr1Meas.Implementations.NrSubMeas.MultiEval.Cc.Layer.Modulation.Extreme

from .......Internal.Core import Core
from .......Internal.CommandsGroup import CommandsGroup
from .......Internal.StructBase import StructBase
from .......Internal.ArgStruct import ArgStruct
from ....... import repcap


# noinspection PyPep8Naming,PyAttributeOutsideInit,SpellCheckingInspection
class ExtremeCls:
	"""
	| Commands in total: 3
	| Subgroups: 0
	| Direct child commands: 3
	"""

	def __init__(self, core: Core, parent):
		self._core = core
		self._cmd_group = CommandsGroup("extreme", core, parent)

	# noinspection PyTypeChecker
[docs] class ResultData(StructBase): """ Response structure. Fields: \n - 1 Reliability: int: 'Reliability indicator' - 2 Out_Of_Tolerance: int: Out of tolerance result, i.e. the percentage of measurement intervals of the statistic count for modulation measurements exceeding the specified modulation limits. - 3 Evm_Rms_Low: float: EVM RMS value, low EVM window position - 4 Evm_Rms_High: float: EVM RMS value, high EVM window position - 5 Evm_Peak_Low: float: EVM peak value, low EVM window position - 6 Evm_Peak_High: float: EVM peak value, high EVM window position - 7 Mag_Error_Rms_Low: float: Magnitude error RMS value, low EVM window position - 8 Mag_Error_Rms_High: float: Magnitude error RMS value, low EVM window position - 9 Mag_Error_Peak_Low: float: Magnitude error peak value, low EVM window position - 10 Mag_Err_Peak_High: float: Magnitude error peak value, high EVM window position - 11 Ph_Error_Rms_Low: float: Phase error RMS value, low EVM window position - 12 Ph_Error_Rms_High: float: Phase error RMS value, high EVM window position - 13 Ph_Error_Peak_Low: float: Phase error peak value, low EVM window position - 14 Ph_Error_Peak_High: float: Phase error peak value, high EVM window position - 15 Iq_Offset: float: I/Q origin offset - 16 Frequency_Error: float: Carrier frequency error - 17 Timing_Error: float: Time error - 18 Tx_Power_Minimum: float: Minimum user equipment power - 19 Tx_Power_Maximum: float: Maximum user equipment power - 20 Peak_Power_Min: float: Minimum user equipment peak power - 21 Peak_Power_Max: float: Maximum user equipment peak power - 22 Psd_Minimum: float: No parameter help available - 23 Psd_Maximum: float: No parameter help available - 24 Evm_Dmrs_Low: float: EVM DMRS value, low EVM window position - 25 Evm_Dmrs_High: float: EVM DMRS value, high EVM window position - 26 Mag_Err_Dmrs_Low: float: Magnitude error DMRS value, low EVM window position - 27 Mag_Err_Dmrs_High: float: Magnitude error DMRS value, high EVM window position - 28 Ph_Error_Dmrs_Low: float: Phase error DMRS value, low EVM window position - 29 Ph_Error_Dmrs_High: float: Phase error DMRS value, high EVM window position - 30 Freq_Error_Ppm: float: Carrier frequency error in ppm - 31 Sample_Clock_Err: float: No parameter help available - 32 Ant_1_Pow_Min: float: Minimum power at antenna 1 - 33 Ant_1_Pow_Max: float: Maximum power at antenna 1 - 34 Ant_2_Pow_Min: float: Minimum power at antenna 2 - 35 Ant_2_Pow_Max: float: Maximum power at antenna 2 - 36 Carrier_Power_Min: float: No parameter help available - 37 Carrier_Power_Max: float: No parameter help available """ __meta_args_list = [ ArgStruct.scalar_int('Reliability', 'Reliability'), ArgStruct.scalar_int('Out_Of_Tolerance'), ArgStruct.scalar_float('Evm_Rms_Low'), ArgStruct.scalar_float('Evm_Rms_High'), ArgStruct.scalar_float('Evm_Peak_Low'), ArgStruct.scalar_float('Evm_Peak_High'), ArgStruct.scalar_float('Mag_Error_Rms_Low'), ArgStruct.scalar_float('Mag_Error_Rms_High'), ArgStruct.scalar_float('Mag_Error_Peak_Low'), ArgStruct.scalar_float('Mag_Err_Peak_High'), ArgStruct.scalar_float('Ph_Error_Rms_Low'), ArgStruct.scalar_float('Ph_Error_Rms_High'), ArgStruct.scalar_float('Ph_Error_Peak_Low'), ArgStruct.scalar_float('Ph_Error_Peak_High'), ArgStruct.scalar_float('Iq_Offset'), ArgStruct.scalar_float('Frequency_Error'), ArgStruct.scalar_float('Timing_Error'), ArgStruct.scalar_float('Tx_Power_Minimum'), ArgStruct.scalar_float('Tx_Power_Maximum'), ArgStruct.scalar_float('Peak_Power_Min'), ArgStruct.scalar_float('Peak_Power_Max'), ArgStruct.scalar_float('Psd_Minimum'), ArgStruct.scalar_float('Psd_Maximum'), ArgStruct.scalar_float('Evm_Dmrs_Low'), ArgStruct.scalar_float('Evm_Dmrs_High'), ArgStruct.scalar_float('Mag_Err_Dmrs_Low'), ArgStruct.scalar_float('Mag_Err_Dmrs_High'), ArgStruct.scalar_float('Ph_Error_Dmrs_Low'), ArgStruct.scalar_float('Ph_Error_Dmrs_High'), ArgStruct.scalar_float('Freq_Error_Ppm'), ArgStruct.scalar_float('Sample_Clock_Err'), ArgStruct.scalar_float('Ant_1_Pow_Min'), ArgStruct.scalar_float('Ant_1_Pow_Max'), ArgStruct.scalar_float('Ant_2_Pow_Min'), ArgStruct.scalar_float('Ant_2_Pow_Max'), ArgStruct.scalar_float('Carrier_Power_Min'), ArgStruct.scalar_float('Carrier_Power_Max')] def __init__(self): StructBase.__init__(self, self) self.Reliability: int = None self.Out_Of_Tolerance: int = None self.Evm_Rms_Low: float = None self.Evm_Rms_High: float = None self.Evm_Peak_Low: float = None self.Evm_Peak_High: float = None self.Mag_Error_Rms_Low: float = None self.Mag_Error_Rms_High: float = None self.Mag_Error_Peak_Low: float = None self.Mag_Err_Peak_High: float = None self.Ph_Error_Rms_Low: float = None self.Ph_Error_Rms_High: float = None self.Ph_Error_Peak_Low: float = None self.Ph_Error_Peak_High: float = None self.Iq_Offset: float = None self.Frequency_Error: float = None self.Timing_Error: float = None self.Tx_Power_Minimum: float = None self.Tx_Power_Maximum: float = None self.Peak_Power_Min: float = None self.Peak_Power_Max: float = None self.Psd_Minimum: float = None self.Psd_Maximum: float = None self.Evm_Dmrs_Low: float = None self.Evm_Dmrs_High: float = None self.Mag_Err_Dmrs_Low: float = None self.Mag_Err_Dmrs_High: float = None self.Ph_Error_Dmrs_Low: float = None self.Ph_Error_Dmrs_High: float = None self.Freq_Error_Ppm: float = None self.Sample_Clock_Err: float = None self.Ant_1_Pow_Min: float = None self.Ant_1_Pow_Max: float = None self.Ant_2_Pow_Min: float = None self.Ant_2_Pow_Max: float = None self.Carrier_Power_Min: float = None self.Carrier_Power_Max: float = None
[docs] def read(self, carrierComponent=repcap.CarrierComponent.Default, layer=repcap.Layer.Default) -> ResultData: """ ``READ:NRSub:MEASurement<Instance>:MEValuation[:CC<no>][:LAYer<layer>]:MODulation:EXTReme`` \n Snippet: ``value: ResultData = driver.nrSubMeas.multiEval.cc.layer.modulation.extreme.read(carrierComponent = repcap.CarrierComponent.Default, layer = repcap.Layer.Default)`` \n Return the extreme single value results for carrier <no>, layer/antenna <l>. The values described below are returned by FETCh and READ commands. A CALCulate command returns limit check results instead, one value for each result listed below. :param carrierComponent: optional repeated capability selector. Default value: Nr1 (settable in the interface 'Cc') :param layer: optional repeated capability selector. Default value: Nr1 (settable in the interface 'Layer') :return: structure: for return value, see the help for ResultData structure arguments. """ carrierComponent_cmd_val = self._cmd_group.get_repcap_cmd_value(carrierComponent, repcap.CarrierComponent) layer_cmd_val = self._cmd_group.get_repcap_cmd_value(layer, repcap.Layer) return self._core.io.query_struct(f'READ:NRSub:MEASurement<Instance>:MEValuation:CC{carrierComponent_cmd_val}:LAYer{layer_cmd_val}:MODulation:EXTReme?', self.__class__.ResultData())
[docs] def fetch(self, carrierComponent=repcap.CarrierComponent.Default, layer=repcap.Layer.Default) -> ResultData: """ ``FETCh:NRSub:MEASurement<Instance>:MEValuation[:CC<no>][:LAYer<layer>]:MODulation:EXTReme`` \n Snippet: ``value: ResultData = driver.nrSubMeas.multiEval.cc.layer.modulation.extreme.fetch(carrierComponent = repcap.CarrierComponent.Default, layer = repcap.Layer.Default)`` \n Return the extreme single value results for carrier <no>, layer/antenna <l>. The values described below are returned by FETCh and READ commands. A CALCulate command returns limit check results instead, one value for each result listed below. :param carrierComponent: optional repeated capability selector. Default value: Nr1 (settable in the interface 'Cc') :param layer: optional repeated capability selector. Default value: Nr1 (settable in the interface 'Layer') :return: structure: for return value, see the help for ResultData structure arguments. """ carrierComponent_cmd_val = self._cmd_group.get_repcap_cmd_value(carrierComponent, repcap.CarrierComponent) layer_cmd_val = self._cmd_group.get_repcap_cmd_value(layer, repcap.Layer) return self._core.io.query_struct(f'FETCh:NRSub:MEASurement<Instance>:MEValuation:CC{carrierComponent_cmd_val}:LAYer{layer_cmd_val}:MODulation:EXTReme?', self.__class__.ResultData())
# noinspection PyTypeChecker
[docs] class CalculateStruct(StructBase): """ Response structure. Fields: \n - 1 Reliability: int: 'Reliability indicator' - 2 Out_Of_Tolerance: int: Out of tolerance result, i.e. the percentage of measurement intervals of the statistic count for modulation measurements exceeding the specified modulation limits. - 3 Evm_Rms_Low: float | bool: EVM RMS value, low EVM window position - 4 Evm_Rms_High: float | bool: EVM RMS value, high EVM window position - 5 Evm_Peak_Low: float | bool: EVM peak value, low EVM window position - 6 Evm_Peak_High: float | bool: EVM peak value, high EVM window position - 7 Mag_Error_Rms_Low: float | bool: Magnitude error RMS value, low EVM window position - 8 Mag_Error_Rms_High: float | bool: Magnitude error RMS value, low EVM window position - 9 Mag_Error_Peak_Low: float | bool: Magnitude error peak value, low EVM window position - 10 Mag_Err_Peak_High: float | bool: Magnitude error peak value, high EVM window position - 11 Ph_Error_Rms_Low: float | bool: Phase error RMS value, low EVM window position - 12 Ph_Error_Rms_High: float | bool: Phase error RMS value, high EVM window position - 13 Ph_Error_Peak_Low: float | bool: Phase error peak value, low EVM window position - 14 Ph_Error_Peak_High: float | bool: Phase error peak value, high EVM window position - 15 Iq_Offset: float | bool: I/Q origin offset - 16 Frequency_Error: float | bool: Carrier frequency error - 17 Timing_Error: float | bool: Time error - 18 Tx_Power_Minimum: float | bool: Minimum user equipment power - 19 Tx_Power_Maximum: float | bool: Maximum user equipment power - 20 Peak_Power_Min: float | bool: Minimum user equipment peak power - 21 Peak_Power_Max: float | bool: Maximum user equipment peak power - 22 Psd_Minimum: float | bool: No parameter help available - 23 Psd_Maximum: float | bool: No parameter help available - 24 Evm_Dmrs_Low: float | bool: EVM DMRS value, low EVM window position - 25 Evm_Dmrs_High: float | bool: EVM DMRS value, high EVM window position - 26 Mag_Err_Dmrs_Low: float | bool: Magnitude error DMRS value, low EVM window position - 27 Mag_Err_Dmrs_High: float | bool: Magnitude error DMRS value, high EVM window position - 28 Ph_Error_Dmrs_Low: float | bool: Phase error DMRS value, low EVM window position - 29 Ph_Error_Dmrs_High: float | bool: Phase error DMRS value, high EVM window position - 30 Freq_Error_Ppm: float | bool: Carrier frequency error in ppm - 31 Sample_Clock_Err: float | bool: No parameter help available - 32 Ant_1_Pow_Min: float: Minimum power at antenna 1 - 33 Ant_1_Pow_Max: float: Maximum power at antenna 1 - 34 Ant_2_Pow_Min: float: Minimum power at antenna 2 - 35 Ant_2_Pow_Max: float: Maximum power at antenna 2 - 36 Carrier_Power_Min: float | bool: No parameter help available - 37 Carrier_Power_Max: float | bool: No parameter help available """ __meta_args_list = [ ArgStruct.scalar_int('Reliability', 'Reliability'), ArgStruct.scalar_int('Out_Of_Tolerance'), ArgStruct.scalar_float_ext('Evm_Rms_Low'), ArgStruct.scalar_float_ext('Evm_Rms_High'), ArgStruct.scalar_float_ext('Evm_Peak_Low'), ArgStruct.scalar_float_ext('Evm_Peak_High'), ArgStruct.scalar_float_ext('Mag_Error_Rms_Low'), ArgStruct.scalar_float_ext('Mag_Error_Rms_High'), ArgStruct.scalar_float_ext('Mag_Error_Peak_Low'), ArgStruct.scalar_float_ext('Mag_Err_Peak_High'), ArgStruct.scalar_float_ext('Ph_Error_Rms_Low'), ArgStruct.scalar_float_ext('Ph_Error_Rms_High'), ArgStruct.scalar_float_ext('Ph_Error_Peak_Low'), ArgStruct.scalar_float_ext('Ph_Error_Peak_High'), ArgStruct.scalar_float_ext('Iq_Offset'), ArgStruct.scalar_float_ext('Frequency_Error'), ArgStruct.scalar_float_ext('Timing_Error'), ArgStruct.scalar_float_ext('Tx_Power_Minimum'), ArgStruct.scalar_float_ext('Tx_Power_Maximum'), ArgStruct.scalar_float_ext('Peak_Power_Min'), ArgStruct.scalar_float_ext('Peak_Power_Max'), ArgStruct.scalar_float_ext('Psd_Minimum'), ArgStruct.scalar_float_ext('Psd_Maximum'), ArgStruct.scalar_float_ext('Evm_Dmrs_Low'), ArgStruct.scalar_float_ext('Evm_Dmrs_High'), ArgStruct.scalar_float_ext('Mag_Err_Dmrs_Low'), ArgStruct.scalar_float_ext('Mag_Err_Dmrs_High'), ArgStruct.scalar_float_ext('Ph_Error_Dmrs_Low'), ArgStruct.scalar_float_ext('Ph_Error_Dmrs_High'), ArgStruct.scalar_float_ext('Freq_Error_Ppm'), ArgStruct.scalar_float_ext('Sample_Clock_Err'), ArgStruct.scalar_float('Ant_1_Pow_Min'), ArgStruct.scalar_float('Ant_1_Pow_Max'), ArgStruct.scalar_float('Ant_2_Pow_Min'), ArgStruct.scalar_float('Ant_2_Pow_Max'), ArgStruct.scalar_float_ext('Carrier_Power_Min'), ArgStruct.scalar_float_ext('Carrier_Power_Max')] def __init__(self): StructBase.__init__(self, self) self.Reliability: int = None self.Out_Of_Tolerance: int = None self.Evm_Rms_Low: float | bool = None self.Evm_Rms_High: float | bool = None self.Evm_Peak_Low: float | bool = None self.Evm_Peak_High: float | bool = None self.Mag_Error_Rms_Low: float | bool = None self.Mag_Error_Rms_High: float | bool = None self.Mag_Error_Peak_Low: float | bool = None self.Mag_Err_Peak_High: float | bool = None self.Ph_Error_Rms_Low: float | bool = None self.Ph_Error_Rms_High: float | bool = None self.Ph_Error_Peak_Low: float | bool = None self.Ph_Error_Peak_High: float | bool = None self.Iq_Offset: float | bool = None self.Frequency_Error: float | bool = None self.Timing_Error: float | bool = None self.Tx_Power_Minimum: float | bool = None self.Tx_Power_Maximum: float | bool = None self.Peak_Power_Min: float | bool = None self.Peak_Power_Max: float | bool = None self.Psd_Minimum: float | bool = None self.Psd_Maximum: float | bool = None self.Evm_Dmrs_Low: float | bool = None self.Evm_Dmrs_High: float | bool = None self.Mag_Err_Dmrs_Low: float | bool = None self.Mag_Err_Dmrs_High: float | bool = None self.Ph_Error_Dmrs_Low: float | bool = None self.Ph_Error_Dmrs_High: float | bool = None self.Freq_Error_Ppm: float | bool = None self.Sample_Clock_Err: float | bool = None self.Ant_1_Pow_Min: float = None self.Ant_1_Pow_Max: float = None self.Ant_2_Pow_Min: float = None self.Ant_2_Pow_Max: float = None self.Carrier_Power_Min: float | bool = None self.Carrier_Power_Max: float | bool = None
[docs] def calculate(self, carrierComponent=repcap.CarrierComponent.Default, layer=repcap.Layer.Default) -> CalculateStruct: """ ``CALCulate:NRSub:MEASurement<Instance>:MEValuation[:CC<no>][:LAYer<layer>]:MODulation:EXTReme`` \n Snippet: ``value: CalculateStruct = driver.nrSubMeas.multiEval.cc.layer.modulation.extreme.calculate(carrierComponent = repcap.CarrierComponent.Default, layer = repcap.Layer.Default)`` \n Return the extreme single value results for carrier <no>, layer/antenna <l>. The values described below are returned by FETCh and READ commands. A CALCulate command returns limit check results instead, one value for each result listed below. :param carrierComponent: optional repeated capability selector. Default value: Nr1 (settable in the interface 'Cc') :param layer: optional repeated capability selector. Default value: Nr1 (settable in the interface 'Layer') :return: structure: for return value, see the help for CalculateStruct structure arguments. """ carrierComponent_cmd_val = self._cmd_group.get_repcap_cmd_value(carrierComponent, repcap.CarrierComponent) layer_cmd_val = self._cmd_group.get_repcap_cmd_value(layer, repcap.Layer) return self._core.io.query_struct(f'CALCulate:NRSub:MEASurement<Instance>:MEValuation:CC{carrierComponent_cmd_val}:LAYer{layer_cmd_val}:MODulation:EXTReme?', self.__class__.CalculateStruct())