Source code for RsSmw.Implementations.Source.Bb

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


# noinspection PyPep8Naming,PyAttributeOutsideInit,SpellCheckingInspection
[docs]class BbCls: """Bb commands group definition. 10221 total commands, 38 Subgroups, 7 group commands""" def __init__(self, core: Core, parent): self._core = core self._cmd_group = CommandsGroup("bb", core, parent) @property def arbitrary(self): """arbitrary commands group. 13 Sub-classes, 3 commands.""" if not hasattr(self, '_arbitrary'): from .Arbitrary import ArbitraryCls self._arbitrary = ArbitraryCls(self._core, self._cmd_group) return self._arbitrary @property def btooth(self): """btooth commands group. 21 Sub-classes, 18 commands.""" if not hasattr(self, '_btooth'): from .Btooth import BtoothCls self._btooth = BtoothCls(self._core, self._cmd_group) return self._btooth @property def c2K(self): """c2K commands group. 13 Sub-classes, 5 commands.""" if not hasattr(self, '_c2K'): from .C2K import C2KCls self._c2K = C2KCls(self._core, self._cmd_group) return self._c2K @property def coder(self): """coder commands group. 0 Sub-classes, 1 commands.""" if not hasattr(self, '_coder'): from .Coder import CoderCls self._coder = CoderCls(self._core, self._cmd_group) return self._coder @property def dab(self): """dab commands group. 11 Sub-classes, 7 commands.""" if not hasattr(self, '_dab'): from .Dab import DabCls self._dab = DabCls(self._core, self._cmd_group) return self._dab @property def dm(self): """dm commands group. 19 Sub-classes, 7 commands.""" if not hasattr(self, '_dm'): from .Dm import DmCls self._dm = DmCls(self._core, self._cmd_group) return self._dm @property def dvb(self): """dvb commands group. 13 Sub-classes, 3 commands.""" if not hasattr(self, '_dvb'): from .Dvb import DvbCls self._dvb = DvbCls(self._core, self._cmd_group) return self._dvb @property def esequencer(self): """esequencer commands group. 13 Sub-classes, 6 commands.""" if not hasattr(self, '_esequencer'): from .Esequencer import EsequencerCls self._esequencer = EsequencerCls(self._core, self._cmd_group) return self._esequencer @property def eutra(self): """eutra commands group. 20 Sub-classes, 8 commands.""" if not hasattr(self, '_eutra'): from .Eutra import EutraCls self._eutra = EutraCls(self._core, self._cmd_group) return self._eutra @property def evdo(self): """evdo commands group. 13 Sub-classes, 8 commands.""" if not hasattr(self, '_evdo'): from .Evdo import EvdoCls self._evdo = EvdoCls(self._core, self._cmd_group) return self._evdo @property def gbas(self): """gbas commands group. 8 Sub-classes, 9 commands.""" if not hasattr(self, '_gbas'): from .Gbas import GbasCls self._gbas = GbasCls(self._core, self._cmd_group) return self._gbas @property def gnpr(self): """gnpr commands group. 1 Sub-classes, 0 commands.""" if not hasattr(self, '_gnpr'): from .Gnpr import GnprCls self._gnpr = GnprCls(self._core, self._cmd_group) return self._gnpr @property def gnss(self): """gnss commands group. 28 Sub-classes, 6 commands.""" if not hasattr(self, '_gnss'): from .Gnss import GnssCls self._gnss = GnssCls(self._core, self._cmd_group) return self._gnss @property def graphics(self): """graphics commands group. 3 Sub-classes, 5 commands.""" if not hasattr(self, '_graphics'): from .Graphics import GraphicsCls self._graphics = GraphicsCls(self._core, self._cmd_group) return self._graphics @property def gsm(self): """gsm commands group. 19 Sub-classes, 8 commands.""" if not hasattr(self, '_gsm'): from .Gsm import GsmCls self._gsm = GsmCls(self._core, self._cmd_group) return self._gsm @property def huwb(self): """huwb commands group. 13 Sub-classes, 12 commands.""" if not hasattr(self, '_huwb'): from .Huwb import HuwbCls self._huwb = HuwbCls(self._core, self._cmd_group) return self._huwb @property def impairment(self): """impairment commands group. 5 Sub-classes, 0 commands.""" if not hasattr(self, '_impairment'): from .Impairment import ImpairmentCls self._impairment = ImpairmentCls(self._core, self._cmd_group) return self._impairment @property def info(self): """info commands group. 0 Sub-classes, 1 commands.""" if not hasattr(self, '_info'): from .Info import InfoCls self._info = InfoCls(self._core, self._cmd_group) return self._info @property def lora(self): """lora commands group. 7 Sub-classes, 6 commands.""" if not hasattr(self, '_lora'): from .Lora import LoraCls self._lora = LoraCls(self._core, self._cmd_group) return self._lora @property def mccw(self): """mccw commands group. 5 Sub-classes, 2 commands.""" if not hasattr(self, '_mccw'): from .Mccw import MccwCls self._mccw = MccwCls(self._core, self._cmd_group) return self._mccw @property def measurement(self): """measurement commands group. 1 Sub-classes, 0 commands.""" if not hasattr(self, '_measurement'): from .Measurement import MeasurementCls self._measurement = MeasurementCls(self._core, self._cmd_group) return self._measurement @property def nfc(self): """nfc commands group. 10 Sub-classes, 12 commands.""" if not hasattr(self, '_nfc'): from .Nfc import NfcCls self._nfc = NfcCls(self._core, self._cmd_group) return self._nfc @property def nr5G(self): """nr5G commands group. 27 Sub-classes, 7 commands.""" if not hasattr(self, '_nr5G'): from .Nr5G import Nr5GCls self._nr5G = Nr5GCls(self._core, self._cmd_group) return self._nr5G @property def ofdm(self): """ofdm commands group. 16 Sub-classes, 21 commands.""" if not hasattr(self, '_ofdm'): from .Ofdm import OfdmCls self._ofdm = OfdmCls(self._core, self._cmd_group) return self._ofdm @property def oneweb(self): """oneweb commands group. 14 Sub-classes, 6 commands.""" if not hasattr(self, '_oneweb'): from .Oneweb import OnewebCls self._oneweb = OnewebCls(self._core, self._cmd_group) return self._oneweb @property def packet(self): """packet commands group. 2 Sub-classes, 0 commands.""" if not hasattr(self, '_packet'): from .Packet import PacketCls self._packet = PacketCls(self._core, self._cmd_group) return self._packet @property def path(self): """path commands group. 0 Sub-classes, 1 commands.""" if not hasattr(self, '_path'): from .Path import PathCls self._path = PathCls(self._core, self._cmd_group) return self._path @property def power(self): """power commands group. 0 Sub-classes, 2 commands.""" if not hasattr(self, '_power'): from .Power import PowerCls self._power = PowerCls(self._core, self._cmd_group) return self._power @property def pramp(self): """pramp commands group. 5 Sub-classes, 2 commands.""" if not hasattr(self, '_pramp'): from .Pramp import PrampCls self._pramp = PrampCls(self._core, self._cmd_group) return self._pramp @property def progress(self): """progress commands group. 1 Sub-classes, 0 commands.""" if not hasattr(self, '_progress'): from .Progress import ProgressCls self._progress = ProgressCls(self._core, self._cmd_group) return self._progress @property def tdscdma(self): """tdscdma commands group. 12 Sub-classes, 6 commands.""" if not hasattr(self, '_tdscdma'): from .Tdscdma import TdscdmaCls self._tdscdma = TdscdmaCls(self._core, self._cmd_group) return self._tdscdma @property def tetra(self): """tetra commands group. 11 Sub-classes, 9 commands.""" if not hasattr(self, '_tetra'): from .Tetra import TetraCls self._tetra = TetraCls(self._core, self._cmd_group) return self._tetra @property def trigger(self): """trigger commands group. 2 Sub-classes, 1 commands.""" if not hasattr(self, '_trigger'): from .Trigger import TriggerCls self._trigger = TriggerCls(self._core, self._cmd_group) return self._trigger @property def v5G(self): """v5G commands group. 15 Sub-classes, 6 commands.""" if not hasattr(self, '_v5G'): from .V5G import V5GCls self._v5G = V5GCls(self._core, self._cmd_group) return self._v5G @property def w3Gpp(self): """w3Gpp commands group. 14 Sub-classes, 5 commands.""" if not hasattr(self, '_w3Gpp'): from .W3Gpp import W3GppCls self._w3Gpp = W3GppCls(self._core, self._cmd_group) return self._w3Gpp @property def wlad(self): """wlad commands group. 8 Sub-classes, 6 commands.""" if not hasattr(self, '_wlad'): from .Wlad import WladCls self._wlad = WladCls(self._core, self._cmd_group) return self._wlad @property def wlay(self): """wlay commands group. 1 Sub-classes, 0 commands.""" if not hasattr(self, '_wlay'): from .Wlay import WlayCls self._wlay = WlayCls(self._core, self._cmd_group) return self._wlay @property def wlnn(self): """wlnn commands group. 9 Sub-classes, 8 commands.""" if not hasattr(self, '_wlnn'): from .Wlnn import WlnnCls self._wlnn = WlnnCls(self._core, self._cmd_group) return self._wlnn
[docs] def get_cfactor(self) -> float: """SCPI: [SOURce<HW>]:BB:CFACtor \n Snippet: value: float = driver.source.bb.get_cfactor() \n Queries the crest factor of the baseband signal. \n :return: cfactor: float Range: 0 to 100, Unit: dB """ response = self._core.io.query_str('SOURce<HwInstance>:BB:CFACtor?') return Conversions.str_to_float(response)
[docs] def get_foffset(self) -> float: """SCPI: [SOURce<HW>]:BB:FOFFset \n Snippet: value: float = driver.source.bb.get_foffset() \n Sets a frequency offset for the internal/external baseband signal. The offset affects the generated baseband signal. \n :return: foffset: float Range: depends on the installed options , Unit: Hz E.g. -60 MHz to +60 MHz (R&S SMW-B10) """ response = self._core.io.query_str('SOURce<HwInstance>:BB:FOFFset?') return Conversions.str_to_float(response)
[docs] def set_foffset(self, foffset: float) -> None: """SCPI: [SOURce<HW>]:BB:FOFFset \n Snippet: driver.source.bb.set_foffset(foffset = 1.0) \n Sets a frequency offset for the internal/external baseband signal. The offset affects the generated baseband signal. \n :param foffset: float Range: depends on the installed options , Unit: Hz E.g. -60 MHz to +60 MHz (R&S SMW-B10) """ param = Conversions.decimal_value_to_str(foffset) self._core.io.write(f'SOURce<HwInstance>:BB:FOFFset {param}')
# noinspection PyTypeChecker
[docs] def get_iq_gain(self) -> enums.IqGainAll: """SCPI: [SOURce<HW>]:BB:IQGain \n Snippet: value: enums.IqGainAll = driver.source.bb.get_iq_gain() \n Optimizes the modulation of the I/Q modulator for a subset of measurement requirement. \n :return: ipartq_gain: No help available """ response = self._core.io.query_str('SOURce<HwInstance>:BB:IQGain?') return Conversions.str_to_scalar_enum(response, enums.IqGainAll)
[docs] def set_iq_gain(self, ipartq_gain: enums.IqGainAll) -> None: """SCPI: [SOURce<HW>]:BB:IQGain \n Snippet: driver.source.bb.set_iq_gain(ipartq_gain = enums.IqGainAll.AUTO) \n Optimizes the modulation of the I/Q modulator for a subset of measurement requirement. \n :param ipartq_gain: DBM4| DBM2| DB0| DB2| DB4| DB8| DB6| DBM3| DB3| AUTO Dynamic range of 16 dB divided into 2 dB steps. DB0|DB2|DB4|DB6|DB8 Activates the specified gain of 0 dB, +2 dB, +4 dB, +6 dB, +8 dB DBM2|DBM4 Activates the specified gain of -2 dB, -4 dB DBM3|DB3 (setting only) Provided only for backward compatibility with other Rohde & Schwarz signal generators. The R&S SMW accepts these values and maps them automatically as follows: DBM3 = DBM2, DB3 = DB2 AUTO The gain value is retrieved form the connected R&S SZU. The I/Q modulator is configured automatically. """ param = Conversions.enum_scalar_to_str(ipartq_gain, enums.IqGainAll) self._core.io.write(f'SOURce<HwInstance>:BB:IQGain {param}')
[docs] def get_mfp_correction(self) -> float: """SCPI: [SOURce<HW>]:BB:MFPCorrection \n Snippet: value: float = driver.source.bb.get_mfp_correction() \n No command help available \n :return: mfp_correction: No help available """ response = self._core.io.query_str('SOURce<HwInstance>:BB:MFPCorrection?') return Conversions.str_to_float(response)
[docs] def get_pgain(self) -> float: """SCPI: [SOURce<HW>]:BB:PGAin \n Snippet: value: float = driver.source.bb.get_pgain() \n Sets the relative gain for the internal or external baseband signal compared with the signals of the other baseband sources. \n :return: pgain: float Range: -50 to 50, Unit: dB """ response = self._core.io.query_str('SOURce<HwInstance>:BB:PGAin?') return Conversions.str_to_float(response)
[docs] def set_pgain(self, pgain: float) -> None: """SCPI: [SOURce<HW>]:BB:PGAin \n Snippet: driver.source.bb.set_pgain(pgain = 1.0) \n Sets the relative gain for the internal or external baseband signal compared with the signals of the other baseband sources. \n :param pgain: float Range: -50 to 50, Unit: dB """ param = Conversions.decimal_value_to_str(pgain) self._core.io.write(f'SOURce<HwInstance>:BB:PGAin {param}')
[docs] def get_poffset(self) -> float: """SCPI: [SOURce<HW>]:BB:POFFset \n Snippet: value: float = driver.source.bb.get_poffset() \n Sets the relative phase offset for the selected baseband signal. The latter applies for the other paths or the external baseband. \n :return: poffset: float Range: 0 to 359.9, Unit: DEG """ response = self._core.io.query_str('SOURce<HwInstance>:BB:POFFset?') return Conversions.str_to_float(response)
[docs] def set_poffset(self, poffset: float) -> None: """SCPI: [SOURce<HW>]:BB:POFFset \n Snippet: driver.source.bb.set_poffset(poffset = 1.0) \n Sets the relative phase offset for the selected baseband signal. The latter applies for the other paths or the external baseband. \n :param poffset: float Range: 0 to 359.9, Unit: DEG """ param = Conversions.decimal_value_to_str(poffset) self._core.io.write(f'SOURce<HwInstance>:BB:POFFset {param}')
# noinspection PyTypeChecker
[docs] def get_route(self) -> enums.PathUniCodBbin: """SCPI: [SOURce<HW>]:BB:ROUTe \n Snippet: value: enums.PathUniCodBbin = driver.source.bb.get_route() \n Selects the signal route for the internal/external baseband signal. The internal and external signals are summed, if necessary. \n :return: route: A | B| AB """ response = self._core.io.query_str('SOURce<HwInstance>:BB:ROUTe?') return Conversions.str_to_scalar_enum(response, enums.PathUniCodBbin)
[docs] def set_route(self, route: enums.PathUniCodBbin) -> None: """SCPI: [SOURce<HW>]:BB:ROUTe \n Snippet: driver.source.bb.set_route(route = enums.PathUniCodBbin.A) \n Selects the signal route for the internal/external baseband signal. The internal and external signals are summed, if necessary. \n :param route: A | B| AB """ param = Conversions.enum_scalar_to_str(route, enums.PathUniCodBbin) self._core.io.write(f'SOURce<HwInstance>:BB:ROUTe {param}')
def clone(self) -> 'BbCls': """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 = BbCls(self._core, self._cmd_group.parent) self._cmd_group.synchronize_repcaps(new_group) return new_group