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 ModeCls:
"""
| Commands in total: 1
| Subgroups: 0
| Direct child commands: 1
"""
def __init__(self, core: Core, parent):
self._core = core
self._cmd_group = CommandsGroup("mode", core, parent)
[docs]
def set(self, mode: enums.RefLevelAutoMode, refLevel=repcap.RefLevel.Default) -> None:
"""
``REFLevel<*>:AUTO:MODE`` \n
Snippet: ``driver.refLevel.auto.mode.set(mode = enums.RefLevelAutoMode.ABSolutepeak, refLevel = repcap.RefLevel.Default)`` \n
Defines the high and low signal levels from which the reference levels are derived. This setting is only available for
automatic reference level mode (see method ``RsRtx.refLevel.ldetection.set()`` ) .
:param mode: AUTO | PPRobability | MPRobability | ABSolutepeak | UPLM | UMLP | UALM | UMLA \n
- AUTO: Auto select absolute probability: most suitable signal levels for the selected measurement
- PPRobability: Peak probability: signal levels with the highest probability value
- MPRobability: Mean probability: signal levels with mean probability
- ABSolutepeak: Absolute peak: absolute peak signal levels
- UPLM: Upper absolute peak, lower mean probability: high signal level is the upper absolute peak, low signal level is the level with the mean probability in the lower half of the histogram.
- UMLP: Upper mean probability, lower absolute peak: high signal level is the level with mean probability in the upper half of the histogram, low signal level is the lower absolute peak.
- UALM: Upper absolute peak, lower manual value: high signal level is the maximum result value of the amplitude measurement; low signal level is manually set using REFLevelrl:RELative:LOWer.
- UMLA: Upper manual, lower absolute peak: The upper signal level is set manually using REFLevelrl:RELative:UPPer. The lower level is the minimum result value of the amplitude measurement.
:param refLevel: optional repeated capability selector. Default value: Nr1 (settable in the interface 'RefLevel')
"""
param = Conversions.enum_scalar_to_str(mode, enums.RefLevelAutoMode)
refLevel_cmd_val = self._cmd_group.get_repcap_cmd_value(refLevel, repcap.RefLevel)
self._core.io.write_with_opc(f'REFLevel{refLevel_cmd_val}:AUTO:MODE {param}')
# noinspection PyTypeChecker
[docs]
def get(self, refLevel=repcap.RefLevel.Default) -> enums.RefLevelAutoMode:
"""
``REFLevel<*>:AUTO:MODE`` \n
Snippet: ``value: enums.RefLevelAutoMode = driver.refLevel.auto.mode.get(refLevel = repcap.RefLevel.Default)`` \n
Defines the high and low signal levels from which the reference levels are derived. This setting is only available for
automatic reference level mode (see method ``RsRtx.refLevel.ldetection.set()`` ) .
:param refLevel: optional repeated capability selector. Default value: Nr1 (settable in the interface 'RefLevel')
:return: mode: AUTO | PPRobability | MPRobability | ABSolutepeak | UPLM | UMLP | UALM | UMLA \n
- AUTO: Auto select absolute probability: most suitable signal levels for the selected measurement
- PPRobability: Peak probability: signal levels with the highest probability value
- MPRobability: Mean probability: signal levels with mean probability
- ABSolutepeak: Absolute peak: absolute peak signal levels
- UPLM: Upper absolute peak, lower mean probability: high signal level is the upper absolute peak, low signal level is the level with the mean probability in the lower half of the histogram.
- UMLP: Upper mean probability, lower absolute peak: high signal level is the level with mean probability in the upper half of the histogram, low signal level is the lower absolute peak.
- UALM: Upper absolute peak, lower manual value: high signal level is the maximum result value of the amplitude measurement; low signal level is manually set using REFLevelrl:RELative:LOWer.
- UMLA: Upper manual, lower absolute peak: The upper signal level is set manually using REFLevelrl:RELative:UPPer. The lower level is the minimum result value of the amplitude measurement.
"""
refLevel_cmd_val = self._cmd_group.get_repcap_cmd_value(refLevel, repcap.RefLevel)
response = self._core.io.query_str_with_opc(f'REFLevel{refLevel_cmd_val}:AUTO:MODE?')
return Conversions.str_to_scalar_enum(response, enums.RefLevelAutoMode)