Source code for RsCmwGsmMeas.Implementations.Trigger_.MultiEval

from ...Internal.Core import Core
from ...Internal.CommandsGroup import CommandsGroup
from ...Internal import Conversions
from ...Internal.Utilities import trim_str_response
from ... import enums


# noinspection PyPep8Naming,PyAttributeOutsideInit,SpellCheckingInspection
[docs]class MultiEval: """MultiEval commands group definition. 7 total commands, 2 Sub-groups, 5 group commands""" def __init__(self, core: Core, parent): self._core = core self._base = CommandsGroup("multiEval", core, parent) @property def catalog(self): """catalog commands group. 0 Sub-classes, 1 commands.""" if not hasattr(self, '_catalog'): from .MultiEval_.Catalog import Catalog self._catalog = Catalog(self._core, self._base) return self._catalog @property def listPy(self): """listPy commands group. 0 Sub-classes, 1 commands.""" if not hasattr(self, '_listPy'): from .MultiEval_.ListPy import ListPy self._listPy = ListPy(self._core, self._base) return self._listPy
[docs] def get_source(self) -> str: """SCPI: TRIGger:GSM:MEASurement<Instance>:MEValuation:SOURce \n Snippet: value: str = driver.trigger.multiEval.get_source() \n Selects the source of the trigger events. Some values are always available. They are listed below. Depending on the installed options, additional values are available. You can query a list of all supported values via TRIGger:... :CATalog:SOURce?. \n :return: source: string 'Power': Power trigger (received RF power) 'Acquisition': Frame trigger according to defined burst pattern 'Free Run': Free run (untriggered) """ response = self._core.io.query_str('TRIGger:GSM:MEASurement<Instance>:MEValuation:SOURce?') return trim_str_response(response)
[docs] def set_source(self, source: str) -> None: """SCPI: TRIGger:GSM:MEASurement<Instance>:MEValuation:SOURce \n Snippet: driver.trigger.multiEval.set_source(source = '1') \n Selects the source of the trigger events. Some values are always available. They are listed below. Depending on the installed options, additional values are available. You can query a list of all supported values via TRIGger:... :CATalog:SOURce?. \n :param source: string 'Power': Power trigger (received RF power) 'Acquisition': Frame trigger according to defined burst pattern 'Free Run': Free run (untriggered) """ param = Conversions.value_to_quoted_str(source) self._core.io.write(f'TRIGger:GSM:MEASurement<Instance>:MEValuation:SOURce {param}')
[docs] def get_threshold(self) -> float or bool: """SCPI: TRIGger:GSM:MEASurement<Instance>:MEValuation:THReshold \n Snippet: value: float or bool = driver.trigger.multiEval.get_threshold() \n Defines the trigger threshold for power trigger sources. \n :return: threshold: numeric | ON | OFF Range: -50 dB to 0 dB, Unit: dB (full scale, i.e. relative to reference level minus external attenuation) Additional parameters: OFF | ON (disables | enables the threshold) """ response = self._core.io.query_str('TRIGger:GSM:MEASurement<Instance>:MEValuation:THReshold?') return Conversions.str_to_float_or_bool(response)
[docs] def set_threshold(self, threshold: float or bool) -> None: """SCPI: TRIGger:GSM:MEASurement<Instance>:MEValuation:THReshold \n Snippet: driver.trigger.multiEval.set_threshold(threshold = 1.0) \n Defines the trigger threshold for power trigger sources. \n :param threshold: numeric | ON | OFF Range: -50 dB to 0 dB, Unit: dB (full scale, i.e. relative to reference level minus external attenuation) Additional parameters: OFF | ON (disables | enables the threshold) """ param = Conversions.decimal_or_bool_value_to_str(threshold) self._core.io.write(f'TRIGger:GSM:MEASurement<Instance>:MEValuation:THReshold {param}')
# noinspection PyTypeChecker
[docs] def get_slope(self) -> enums.SignalSlope: """SCPI: TRIGger:GSM:MEASurement<Instance>:MEValuation:SLOPe \n Snippet: value: enums.SignalSlope = driver.trigger.multiEval.get_slope() \n Qualifies whether the trigger event is generated at the rising or at the falling edge of the trigger pulse (valid for external and power trigger sources) . \n :return: slope: REDGe | FEDGe REDGe: Rising edge FEDGe: Falling edge """ response = self._core.io.query_str('TRIGger:GSM:MEASurement<Instance>:MEValuation:SLOPe?') return Conversions.str_to_scalar_enum(response, enums.SignalSlope)
[docs] def set_slope(self, slope: enums.SignalSlope) -> None: """SCPI: TRIGger:GSM:MEASurement<Instance>:MEValuation:SLOPe \n Snippet: driver.trigger.multiEval.set_slope(slope = enums.SignalSlope.FEDGe) \n Qualifies whether the trigger event is generated at the rising or at the falling edge of the trigger pulse (valid for external and power trigger sources) . \n :param slope: REDGe | FEDGe REDGe: Rising edge FEDGe: Falling edge """ param = Conversions.enum_scalar_to_str(slope, enums.SignalSlope) self._core.io.write(f'TRIGger:GSM:MEASurement<Instance>:MEValuation:SLOPe {param}')
[docs] def get_timeout(self) -> float or bool: """SCPI: TRIGger:GSM:MEASurement<Instance>:MEValuation:TOUT \n Snippet: value: float or bool = driver.trigger.multiEval.get_timeout() \n Selects the maximum time that the measurement waits for a trigger event before it stops in remote control mode or indicates a trigger timeout in manual operation mode. This setting has no influence on 'Free Run' measurements. \n :return: trigger_timeout: numeric | ON | OFF Range: 0.01 s to 167.77215E+3 s, Unit: s Additional parameters: OFF | ON (disables timeout | enables timeout using the previous/default values) """ response = self._core.io.query_str('TRIGger:GSM:MEASurement<Instance>:MEValuation:TOUT?') return Conversions.str_to_float_or_bool(response)
[docs] def set_timeout(self, trigger_timeout: float or bool) -> None: """SCPI: TRIGger:GSM:MEASurement<Instance>:MEValuation:TOUT \n Snippet: driver.trigger.multiEval.set_timeout(trigger_timeout = 1.0) \n Selects the maximum time that the measurement waits for a trigger event before it stops in remote control mode or indicates a trigger timeout in manual operation mode. This setting has no influence on 'Free Run' measurements. \n :param trigger_timeout: numeric | ON | OFF Range: 0.01 s to 167.77215E+3 s, Unit: s Additional parameters: OFF | ON (disables timeout | enables timeout using the previous/default values) """ param = Conversions.decimal_or_bool_value_to_str(trigger_timeout) self._core.io.write(f'TRIGger:GSM:MEASurement<Instance>:MEValuation:TOUT {param}')
[docs] def get_mgap(self) -> int: """SCPI: TRIGger:GSM:MEASurement<Instance>:MEValuation:MGAP \n Snippet: value: int = driver.trigger.multiEval.get_mgap() \n Sets a minimum time during which the IF signal must be below the trigger threshold before the trigger is armed so that an IF power trigger event can be generated. \n :return: min_trigger_gap: integer Range: 1 slot to 7 slots, Unit: slot """ response = self._core.io.query_str('TRIGger:GSM:MEASurement<Instance>:MEValuation:MGAP?') return Conversions.str_to_int(response)
[docs] def set_mgap(self, min_trigger_gap: int) -> None: """SCPI: TRIGger:GSM:MEASurement<Instance>:MEValuation:MGAP \n Snippet: driver.trigger.multiEval.set_mgap(min_trigger_gap = 1) \n Sets a minimum time during which the IF signal must be below the trigger threshold before the trigger is armed so that an IF power trigger event can be generated. \n :param min_trigger_gap: integer Range: 1 slot to 7 slots, Unit: slot """ param = Conversions.decimal_value_to_str(min_trigger_gap) self._core.io.write(f'TRIGger:GSM:MEASurement<Instance>:MEValuation:MGAP {param}')
def clone(self) -> 'MultiEval': """Clones the group by creating new object from it and its whole existing sub-groups Also copies all the existing default Repeated Capabilities setting, which you can change independently without affecting the original group""" new_group = MultiEval(self._core, self._base.parent) self._base.synchronize_repcaps(new_group) return new_group