from ...Internal.Core import Core
from ...Internal.CommandsGroup import CommandsGroup
from ...Internal import Conversions
from ... import enums
from ... import repcap
# noinspection PyPep8Naming,PyAttributeOutsideInit,SpellCheckingInspection
class MainCls:
"""
| Commands in total: 1
| Subgroups: 0
| Direct child commands: 1
"""
def __init__(self, core: Core, parent):
self._core = core
self._cmd_group = CommandsGroup("main", core, parent)
[docs]
def set(self, meas_type: enums.MeasurementType, measurement=repcap.Measurement.Default) -> None:
"""
``MEASurement<*>:MAIN`` \n
Snippet: ``driver.measurement.main.set(meas_type = enums.MeasurementType.ACPower, measurement = repcap.Measurement.Default)`` \n
Defines the measurement that is used as a source for math calculations and result analysis. This measurement is mandatory
in the measurement group. Further measurements are added to the measurement group with method
``RsRtx.measurement.additional.set()`` .
:param meas_type: \n
- Amplitude/time measurements: HIGH | LOW | AMPLitude | MAXimum | MINimum | PDELta | MEAN | RMS | STDDev | POVershoot | NOVershoot | AREA | RTIMe | FTIMe | PPULse | NPULse | PERiod | FREQuency | PDCYcle | NDCYcle | CYCarea | CYCMean | CYCRms | CYCStddev | PULCnt | DELay | PHASe | BWIDth | PSWitching | NSWitching | PULSetrain | EDGecount | SETup | HOLD | SHT | SHR | DTOTrigger | PROBemeter | SLERising | SLEFalling | ATAR | SIGNallvl | VOCRossing | NPERiod | CMIN | CMAXSee 'Amplitude/time measurements'.``*RST`` value for amplitude/time measurements: AMPLitude.
- Jitter measurements: CCJitter | NCJitter | CCWidth | CCDutycycle | TIE | UINTerval | DRATe | SKWDelay | SKWPhaseOnly available if option R&S RTO6-K12 is installed. See 'Jitter measurements (option R&S RTO6-K12) '.
- EMC/ESD tests: FPEak | SPEak | I30 | I60 | LVADelay | TTValueAvailable with option R&S RTO6-K155See 'EMC/ESD measurements (option R&S RTO6-K155) '.
- Eye diagram measurements: ERPercent | ERDB | EHEight | EWIDth | ETOP | EBASe | CPOints | QFACtor | RMSNoise | SNRatio | DCDistortion | ERTime | EFTime | EBRate | EAMPlitude | PPJitter | STDJitter | RMSJitterSee 'Eye diagram measurements'``*RST`` value for eye/jitter measurements: ERPercent.
- Spectrum measurements: CPOWer | OBWidth | SBWidth | THD | THDPCT | THDA | THDU | THDR | PLISt | HAR | THDF | SPARSee 'Spectrum measurements'.``*RST`` value for spectrum measurements: CPOWer.
- Histogram measurements: WCOunt | WSAMples | HSAMples | HPEak | PEAK | UPEakvalue | LPEakvalue | HMAXimum | HMINimum | MEDian | MAXMin | HMEan | HSTDdev | M1STddev | M2STddev | M3STddev | MKPositive | MKNegativeSee 'Histogram measurement'.``*RST`` value for histogram measurements: WCOunt.
- Protocol measurements: NONE | AUDio | F2F | T2F | FLDValue | GAP | MBITrate | SBITrate | BIDLe | FCNT | FEC | FER | CFERRequires option R&S RTO6-K500See 'Protocol measurements'
- Optical measurements: OAP | OMASee 'Optical measurements'.
:param measurement: optional repeated capability selector. Default value: Nr1 (settable in the interface 'Measurement')
"""
param = Conversions.enum_scalar_to_str(meas_type, enums.MeasurementType)
measurement_cmd_val = self._cmd_group.get_repcap_cmd_value(measurement, repcap.Measurement)
self._core.io.write_with_opc(f'MEASurement{measurement_cmd_val}:MAIN {param}')
# noinspection PyTypeChecker
[docs]
def get(self, measurement=repcap.Measurement.Default) -> enums.MeasurementType:
"""
``MEASurement<*>:MAIN`` \n
Snippet: ``value: enums.MeasurementType = driver.measurement.main.get(measurement = repcap.Measurement.Default)`` \n
Defines the measurement that is used as a source for math calculations and result analysis. This measurement is mandatory
in the measurement group. Further measurements are added to the measurement group with method
``RsRtx.measurement.additional.set()`` .
:param measurement: optional repeated capability selector. Default value: Nr1 (settable in the interface 'Measurement')
:return: meas_type: \n
- Amplitude/time measurements: HIGH | LOW | AMPLitude | MAXimum | MINimum | PDELta | MEAN | RMS | STDDev | POVershoot | NOVershoot | AREA | RTIMe | FTIMe | PPULse | NPULse | PERiod | FREQuency | PDCYcle | NDCYcle | CYCarea | CYCMean | CYCRms | CYCStddev | PULCnt | DELay | PHASe | BWIDth | PSWitching | NSWitching | PULSetrain | EDGecount | SETup | HOLD | SHT | SHR | DTOTrigger | PROBemeter | SLERising | SLEFalling | ATAR | SIGNallvl | VOCRossing | NPERiod | CMIN | CMAXSee 'Amplitude/time measurements'.``*RST`` value for amplitude/time measurements: AMPLitude.
- Jitter measurements: CCJitter | NCJitter | CCWidth | CCDutycycle | TIE | UINTerval | DRATe | SKWDelay | SKWPhaseOnly available if option R&S RTO6-K12 is installed. See 'Jitter measurements (option R&S RTO6-K12) '.
- EMC/ESD tests: FPEak | SPEak | I30 | I60 | LVADelay | TTValueAvailable with option R&S RTO6-K155See 'EMC/ESD measurements (option R&S RTO6-K155) '.
- Eye diagram measurements: ERPercent | ERDB | EHEight | EWIDth | ETOP | EBASe | CPOints | QFACtor | RMSNoise | SNRatio | DCDistortion | ERTime | EFTime | EBRate | EAMPlitude | PPJitter | STDJitter | RMSJitterSee 'Eye diagram measurements'``*RST`` value for eye/jitter measurements: ERPercent.
- Spectrum measurements: CPOWer | OBWidth | SBWidth | THD | THDPCT | THDA | THDU | THDR | PLISt | HAR | THDF | SPARSee 'Spectrum measurements'.``*RST`` value for spectrum measurements: CPOWer.
- Histogram measurements: WCOunt | WSAMples | HSAMples | HPEak | PEAK | UPEakvalue | LPEakvalue | HMAXimum | HMINimum | MEDian | MAXMin | HMEan | HSTDdev | M1STddev | M2STddev | M3STddev | MKPositive | MKNegativeSee 'Histogram measurement'.``*RST`` value for histogram measurements: WCOunt.
- Protocol measurements: NONE | AUDio | F2F | T2F | FLDValue | GAP | MBITrate | SBITrate | BIDLe | FCNT | FEC | FER | CFERRequires option R&S RTO6-K500See 'Protocol measurements'
- Optical measurements: OAP | OMASee 'Optical measurements'.
"""
measurement_cmd_val = self._cmd_group.get_repcap_cmd_value(measurement, repcap.Measurement)
response = self._core.io.query_str_with_opc(f'MEASurement{measurement_cmd_val}:MAIN?')
return Conversions.str_to_scalar_enum(response, enums.MeasurementType)