Source code for RsSmw.Implementations.Sconfiguration

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


# noinspection PyPep8Naming,PyAttributeOutsideInit,SpellCheckingInspection
[docs]class SconfigurationCls: """Sconfiguration commands group definition. 225 total commands, 10 Subgroups, 5 group commands""" def __init__(self, core: Core, parent): self._core = core self._cmd_group = CommandsGroup("sconfiguration", core, parent) @property def apply(self): """apply commands group. 0 Sub-classes, 1 commands.""" if not hasattr(self, '_apply'): from .Apply import ApplyCls self._apply = ApplyCls(self._core, self._cmd_group) return self._apply @property def baseband(self): """baseband commands group. 0 Sub-classes, 1 commands.""" if not hasattr(self, '_baseband'): from .Baseband import BasebandCls self._baseband = BasebandCls(self._core, self._cmd_group) return self._baseband @property def bextension(self): """bextension commands group. 5 Sub-classes, 2 commands.""" if not hasattr(self, '_bextension'): from .Bextension import BextensionCls self._bextension = BextensionCls(self._core, self._cmd_group) return self._bextension @property def diq(self): """diq commands group. 2 Sub-classes, 0 commands.""" if not hasattr(self, '_diq'): from .Diq import DiqCls self._diq = DiqCls(self._core, self._cmd_group) return self._diq @property def duplicate(self): """duplicate commands group. 0 Sub-classes, 1 commands.""" if not hasattr(self, '_duplicate'): from .Duplicate import DuplicateCls self._duplicate = DuplicateCls(self._core, self._cmd_group) return self._duplicate @property def external(self): """external commands group. 8 Sub-classes, 3 commands.""" if not hasattr(self, '_external'): from .External import ExternalCls self._external = ExternalCls(self._core, self._cmd_group) return self._external @property def gnss(self): """gnss commands group. 1 Sub-classes, 0 commands.""" if not hasattr(self, '_gnss'): from .Gnss import GnssCls self._gnss = GnssCls(self._core, self._cmd_group) return self._gnss @property def multiInstrument(self): """multiInstrument commands group. 2 Sub-classes, 2 commands.""" if not hasattr(self, '_multiInstrument'): from .MultiInstrument import MultiInstrumentCls self._multiInstrument = MultiInstrumentCls(self._core, self._cmd_group) return self._multiInstrument @property def output(self): """output commands group. 1 Sub-classes, 1 commands.""" if not hasattr(self, '_output'): from .Output import OutputCls self._output = OutputCls(self._core, self._cmd_group) return self._output @property def rfAlignment(self): """rfAlignment commands group. 3 Sub-classes, 1 commands.""" if not hasattr(self, '_rfAlignment'): from .RfAlignment import RfAlignmentCls self._rfAlignment = RfAlignmentCls(self._core, self._cmd_group) return self._rfAlignment # noinspection PyTypeChecker
[docs] def get_bb_bw(self) -> enums.SystConfBbBandwidth: """SCPI: SCONfiguration:BBBW \n Snippet: value: enums.SystConfBbBandwidth = driver.sconfiguration.get_bb_bw() \n Sets the bandwidth of the baseband signal at the inputs of the fading simulator. The available values depend on the selected MIMO configuration. INTRO_CMD_HELP: For example: \n - In MIMO configurations with fewer than 8 channels, the max. baseband bandwidth is 400 MHz. - In MIMO configurations with fewer than 4 channels, the max. baseband bandwidth is 800 MHz. \n :return: bandwidth: BB040| BB050| BB080| BB100| BB160| BB200| BB800| BB400| BB500| BB1G| BB2G| BB120| BBOUTDEF| BB240 BB040|BB050 ... Bandwidth in MHz, e.g. 40 MHz. BB1G|BB2G 1 GHz, 2 GHz bandwidth. Available in SISO configurations. BBOUTDEF Bandwidth determined by the signal at the HS DIG I/Q. """ response = self._core.io.query_str('SCONfiguration:BBBW?') return Conversions.str_to_scalar_enum(response, enums.SystConfBbBandwidth)
[docs] def set_bb_bw(self, bandwidth: enums.SystConfBbBandwidth) -> None: """SCPI: SCONfiguration:BBBW \n Snippet: driver.sconfiguration.set_bb_bw(bandwidth = enums.SystConfBbBandwidth.BB040) \n Sets the bandwidth of the baseband signal at the inputs of the fading simulator. The available values depend on the selected MIMO configuration. INTRO_CMD_HELP: For example: \n - In MIMO configurations with fewer than 8 channels, the max. baseband bandwidth is 400 MHz. - In MIMO configurations with fewer than 4 channels, the max. baseband bandwidth is 800 MHz. \n :param bandwidth: BB040| BB050| BB080| BB100| BB160| BB200| BB800| BB400| BB500| BB1G| BB2G| BB120| BBOUTDEF| BB240 BB040|BB050 ... Bandwidth in MHz, e.g. 40 MHz. BB1G|BB2G 1 GHz, 2 GHz bandwidth. Available in SISO configurations. BBOUTDEF Bandwidth determined by the signal at the HS DIG I/Q. """ param = Conversions.enum_scalar_to_str(bandwidth, enums.SystConfBbBandwidth) self._core.io.write(f'SCONfiguration:BBBW {param}')
# noinspection PyTypeChecker
[docs] def get_cabw(self) -> enums.SystConfBbBandwidth: """SCPI: SCONfiguration:CABW \n Snippet: value: enums.SystConfBbBandwidth = driver.sconfiguration.get_cabw() \n Queries the resulting channel aggregation bandwidth, i.e. the signal bandwidth at the outputs of the stream mapper. The value is calculated automatically and depends on the selected configuration, the installed options and the selected baseband bandwidth (method RsSmw.Sconfiguration.bbBw) . \n :return: bandwidth: BB800| BB200 """ response = self._core.io.query_str('SCONfiguration:CABW?') return Conversions.str_to_scalar_enum(response, enums.SystConfBbBandwidth)
# noinspection PyTypeChecker
[docs] def get_fading(self) -> enums.SystConfFadConf: """SCPI: SCONfiguration:FADing \n Snippet: value: enums.SystConfFadConf = driver.sconfiguration.get_fading() \n Defines the signal routing. Table Header: method RsSmw.Sconfiguration.mode / <FadConfig> \n - STANdard / FAAFBNone | FANFBB | FAAFBB | FAAFBA | FABFBB | FAABFBN | FANFBAB | FAABFBAB - ADVanced / MIMO1X2 | MIMO2X2 | MIMO2X3 | MIMO2X4 | MIMO3X2 | MIMO3X3 | MIMO3X4 | MIMO4X2 | MIMO4X3 | MIMO4X4 | MIMO1X8 | MIMO8X1 | MIMO2X8 | MIMO8X2 | MIMO2X1 | MIMO2X1X2 | MIMO2X2X1 | MIMO2X1X3 | MIMO2X1X4 | MIMO2X2X2 | MIMO1X3 | MIMO3X1 | MIMO1X4 | MIMO4X1 | MIMO3X1X2 | MIMO3X2X1 | MIMO4X1X2 | MIMO3X2X2 | MIMO4X2X2 | MIMO4X2X1 | SISO2X1X1 | SISO3X1X1 | SISO4X1X1 | SISO5X1X1 | SISO6X1X1 | SISO7X1X1 | SISO8X1X1 | MIMO2X2X4 | MIMO2X4X2 | MIMO2X2X3 | MIMO2X3X1 | MIMO2X3X2 | MIMO2X4X1 MIMO4X8 | MIMO8X4 | MIMO2X4X4 | MIMO2X3X3| MIMO2X3X4 | MIMO2X4X3 MIMO8X8 \n :return: fad_config: FAAFBNone| FANFBB| FAAFBB| SISO2X1X1| FAAFBA| FABFBB| FAABFBN| FANFBAB| FAABFBAB| MIMO1X2| MIMO2X2| MIMO2X3| MIMO2X4| MIMO3X2| MIMO3X3| MIMO3X4| MIMO4X2| MIMO4X3| MIMO4X4| MIMO1X8| MIMO8X1| MIMO2X8| MIMO8X2| MIMO2X1| MIMO2X1X2| MIMO2X2X1| MIMO2X2X2| MIMO1X3| MIMO3X1| MIMO1X4| MIMO4X1| MIMO3X1X2| MIMO3X2X1| MIMO4X1X2| MIMO3X2X2| MIMO4X2X2| MIMO4X2X1| SISO3X1X1| SISO4X1X1| SISO5X1X1| SISO6X1X1| SISO7X1X1| SISO8X1X1| MIMO2X2X4| MIMO2X4X2| MIMO4X8| MIMO8X4| MIMO2X1X3| MIMO2X1X4| MIMO2X2X3| MIMO2X3X1| MIMO2X3X2| MIMO2X4X1| MIMO2X4X4| MIMO2X3X3| MIMO2X3X4| MIMO2X4X3| MIMO8X8 """ response = self._core.io.query_str('SCONfiguration:FADing?') return Conversions.str_to_scalar_enum(response, enums.SystConfFadConf)
[docs] def set_fading(self, fad_config: enums.SystConfFadConf) -> None: """SCPI: SCONfiguration:FADing \n Snippet: driver.sconfiguration.set_fading(fad_config = enums.SystConfFadConf.FAABFBAB) \n Defines the signal routing. Table Header: method RsSmw.Sconfiguration.mode / <FadConfig> \n - STANdard / FAAFBNone | FANFBB | FAAFBB | FAAFBA | FABFBB | FAABFBN | FANFBAB | FAABFBAB - ADVanced / MIMO1X2 | MIMO2X2 | MIMO2X3 | MIMO2X4 | MIMO3X2 | MIMO3X3 | MIMO3X4 | MIMO4X2 | MIMO4X3 | MIMO4X4 | MIMO1X8 | MIMO8X1 | MIMO2X8 | MIMO8X2 | MIMO2X1 | MIMO2X1X2 | MIMO2X2X1 | MIMO2X1X3 | MIMO2X1X4 | MIMO2X2X2 | MIMO1X3 | MIMO3X1 | MIMO1X4 | MIMO4X1 | MIMO3X1X2 | MIMO3X2X1 | MIMO4X1X2 | MIMO3X2X2 | MIMO4X2X2 | MIMO4X2X1 | SISO2X1X1 | SISO3X1X1 | SISO4X1X1 | SISO5X1X1 | SISO6X1X1 | SISO7X1X1 | SISO8X1X1 | MIMO2X2X4 | MIMO2X4X2 | MIMO2X2X3 | MIMO2X3X1 | MIMO2X3X2 | MIMO2X4X1 MIMO4X8 | MIMO8X4 | MIMO2X4X4 | MIMO2X3X3| MIMO2X3X4 | MIMO2X4X3 MIMO8X8 \n :param fad_config: FAAFBNone| FANFBB| FAAFBB| SISO2X1X1| FAAFBA| FABFBB| FAABFBN| FANFBAB| FAABFBAB| MIMO1X2| MIMO2X2| MIMO2X3| MIMO2X4| MIMO3X2| MIMO3X3| MIMO3X4| MIMO4X2| MIMO4X3| MIMO4X4| MIMO1X8| MIMO8X1| MIMO2X8| MIMO8X2| MIMO2X1| MIMO2X1X2| MIMO2X2X1| MIMO2X2X2| MIMO1X3| MIMO3X1| MIMO1X4| MIMO4X1| MIMO3X1X2| MIMO3X2X1| MIMO4X1X2| MIMO3X2X2| MIMO4X2X2| MIMO4X2X1| SISO3X1X1| SISO4X1X1| SISO5X1X1| SISO6X1X1| SISO7X1X1| SISO8X1X1| MIMO2X2X4| MIMO2X4X2| MIMO4X8| MIMO8X4| MIMO2X1X3| MIMO2X1X4| MIMO2X2X3| MIMO2X3X1| MIMO2X3X2| MIMO2X4X1| MIMO2X4X4| MIMO2X3X3| MIMO2X3X4| MIMO2X4X3| MIMO8X8 """ param = Conversions.enum_scalar_to_str(fad_config, enums.SystConfFadConf) self._core.io.write(f'SCONfiguration:FADing {param}')
# noinspection PyTypeChecker
[docs] def get_mode(self) -> enums.SystConfMode: """SCPI: SCONfiguration:MODE \n Snippet: value: enums.SystConfMode = driver.sconfiguration.get_mode() \n Switches between the operating modes. \n :return: mode: ADVanced| STANdard| REGenerator | GNSS | ESEQuencer | BWEXtension ADVanced|STANdard Switches between the and . REGenerator Enables the R&S SMW to work as a radar echo generator. The fading simulator is disabled. See 'Welcome to the Option'. GNSS Enables the R&S SMW to work in GNSS advanced mode. The fading simulator is disabled. See 'Welcome to the GNSS Satellite Navigation Options'. ESEQuencer Enables the R&S SMW to work in an advanced extended sequencer mode. The fading simulator, the AWGN, the BB input and all baseband digital standards are disabled. See 'Welcome to the Extended Sequencer'. BEXTension Enables the R&S SMW to generate RF signals with extended bandwidth. These signals typically have bandwidths above 2.4 GHz. See 'Welcome to the option'. """ response = self._core.io.query_str('SCONfiguration:MODE?') return Conversions.str_to_scalar_enum(response, enums.SystConfMode)
[docs] def set_mode(self, mode: enums.SystConfMode) -> None: """SCPI: SCONfiguration:MODE \n Snippet: driver.sconfiguration.set_mode(mode = enums.SystConfMode.ADVanced) \n Switches between the operating modes. \n :param mode: ADVanced| STANdard| REGenerator | GNSS | ESEQuencer | BWEXtension ADVanced|STANdard Switches between the and . REGenerator Enables the R&S SMW to work as a radar echo generator. The fading simulator is disabled. See 'Welcome to the Option'. GNSS Enables the R&S SMW to work in GNSS advanced mode. The fading simulator is disabled. See 'Welcome to the GNSS Satellite Navigation Options'. ESEQuencer Enables the R&S SMW to work in an advanced extended sequencer mode. The fading simulator, the AWGN, the BB input and all baseband digital standards are disabled. See 'Welcome to the Extended Sequencer'. BEXTension Enables the R&S SMW to generate RF signals with extended bandwidth. These signals typically have bandwidths above 2.4 GHz. See 'Welcome to the option'. """ param = Conversions.enum_scalar_to_str(mode, enums.SystConfMode) self._core.io.write(f'SCONfiguration:MODE {param}')
[docs] def preset(self) -> None: """SCPI: SCONfiguration:PRESet \n Snippet: driver.sconfiguration.preset() \n Presets the signal routing in the baseband section and the fading configuration to the default state. \n """ self._core.io.write(f'SCONfiguration:PRESet')
[docs] def preset_with_opc(self, opc_timeout_ms: int = -1) -> None: """SCPI: SCONfiguration:PRESet \n Snippet: driver.sconfiguration.preset_with_opc() \n Presets the signal routing in the baseband section and the fading configuration to the default state. \n Same as preset, but waits for the operation to complete before continuing further. Use the RsSmw.utilities.opc_timeout_set() to set the timeout value. \n :param opc_timeout_ms: Maximum time to wait in milliseconds, valid only for this call.""" self._core.io.write_with_opc(f'SCONfiguration:PRESet', opc_timeout_ms)
def clone(self) -> 'SconfigurationCls': """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 = SconfigurationCls(self._core, self._cmd_group.parent) self._cmd_group.synchronize_repcaps(new_group) return new_group