Source code for RsCmwLteMeas.Implementations.Configure.MultiEval.ListPy.Segment.Setup

from ......Internal.Core import Core
from ......Internal.CommandsGroup import CommandsGroup
from ......Internal.StructBase import StructBase
from ......Internal.ArgStruct import ArgStruct
from ...... import enums
from ...... import repcap


# noinspection PyPep8Naming,PyAttributeOutsideInit,SpellCheckingInspection
[docs] class SetupCls: """Setup commands group definition. 1 total commands, 0 Subgroups, 1 group commands""" def __init__(self, core: Core, parent): self._core = core self._cmd_group = CommandsGroup("setup", core, parent) # noinspection PyTypeChecker
[docs] class SetupStruct(StructBase): """Structure for setting input parameters. Contains optional setting parameters. Fields: \n - Segment_Length: int: integer Number of subframes in the segment Range: 1 to 2000 - Level: float: numeric Expected nominal power in the segment. The range can be calculated as follows: Range (Expected Nominal Power) = Range (Input Power) + External Attenuation - User Margin The input power range is stated in the data sheet. Unit: dBm - Duplex_Mode: enums.DuplexMode: FDD | TDD Duplex mode used in the segment - Band: enums.Band: FDD UL: OB1 | ... | OB28 | OB30 | OB31 | OB65 | OB66 | OB68 | OB70 | ... | OB74 | OB85 | OB87 | OB88 TDD UL: OB33 | ... | OB45 | OB48 | OB50 | ... | OB53 | OB250 Sidelink: OB47 Operating band used in the segment - Frequency: float: numeric Center frequency of CC1 used in the segment For the supported range, see 'Frequency ranges'. Unit: Hz - Ch_Bandwidth: enums.ChannelBandwidth: B014 | B030 | B050 | B100 | B150 | B200 Channel bandwidth of CC1 used in the segment B014: 1.4 MHz B030: 3 MHz B050: 5 MHz B100: 10 MHz B150: 15 MHz B200: 20 MHz - Cyclic_Prefix: enums.CyclicPrefix: NORMal | EXTended Type of cyclic prefix used in the segment - Channel_Type: enums.SegmentChannelTypeExtended: AUTO | PUSCh | PUCCh | PSSCh | PSCCh Channel type to be measured in the segment (AUTO for automatic detection) Uplink: AUTO, PUSCh, PUCCh Sidelink: PSSCh, PSCCh - Retrigger_Flag: enums.RetriggerFlag: OFF | ON | IFPower | IFPNarrow Specifies whether the measurement waits for a trigger event before measuring the segment, or not. The retrigger flag is ignored for trigger mode ONCE and evaluated for trigger mode SEGMent, see [CMDLINKRESOLVED Trigger.MultiEval.ListPy#Mode CMDLINKRESOLVED]. OFF Measure the segment without retrigger. For the first segment, the value OFF is interpreted as ON. ON Wait for a trigger event from the trigger source configured via [CMDLINKRESOLVED Trigger.MultiEval#Source CMDLINKRESOLVED]. IFPower Wait for a trigger event from the trigger source 'IF Power'. The trigger evaluation bandwidth is 160 MHz. IFPNarrowband Wait for a trigger event from the trigger source 'IF Power'. The trigger evaluation bandwidth is configured via [CMDLINKRESOLVED Trigger.MultiEval.ListPy#Nbandwidth CMDLINKRESOLVED]. - Evaluat_Offset: int: integer Number of subframes at the beginning of the segment that are not evaluated Range: 0 to 1000 - Network_Sig_Value: enums.NetworkSigValueNoCarrAggr: Optional setting parameter. NS01 | ... | NS288 Network signaled value to be used for the segment""" __meta_args_list = [ ArgStruct.scalar_int('Segment_Length'), ArgStruct.scalar_float('Level'), ArgStruct.scalar_enum('Duplex_Mode', enums.DuplexMode), ArgStruct.scalar_enum('Band', enums.Band), ArgStruct.scalar_float('Frequency'), ArgStruct.scalar_enum('Ch_Bandwidth', enums.ChannelBandwidth), ArgStruct.scalar_enum('Cyclic_Prefix', enums.CyclicPrefix), ArgStruct.scalar_enum('Channel_Type', enums.SegmentChannelTypeExtended), ArgStruct.scalar_enum('Retrigger_Flag', enums.RetriggerFlag), ArgStruct.scalar_int('Evaluat_Offset'), ArgStruct.scalar_enum_optional('Network_Sig_Value', enums.NetworkSigValueNoCarrAggr)] def __init__(self): StructBase.__init__(self, self) self.Segment_Length: int = None self.Level: float = None self.Duplex_Mode: enums.DuplexMode = None self.Band: enums.Band = None self.Frequency: float = None self.Ch_Bandwidth: enums.ChannelBandwidth = None self.Cyclic_Prefix: enums.CyclicPrefix = None self.Channel_Type: enums.SegmentChannelTypeExtended = None self.Retrigger_Flag: enums.RetriggerFlag = None self.Evaluat_Offset: int = None self.Network_Sig_Value: enums.NetworkSigValueNoCarrAggr = None
[docs] def set(self, structure: SetupStruct, segment=repcap.Segment.Default) -> None: """SCPI: CONFigure:LTE:MEASurement<Instance>:MEValuation:LIST:SEGMent<nr>:SETup \n Snippet with structure: \n structure = driver.configure.multiEval.listPy.segment.setup.SetupStruct() \n structure.Segment_Length: int = 1 \n structure.Level: float = 1.0 \n structure.Duplex_Mode: enums.DuplexMode = enums.DuplexMode.FDD \n structure.Band: enums.Band = enums.Band.OB1 \n structure.Frequency: float = 1.0 \n structure.Ch_Bandwidth: enums.ChannelBandwidth = enums.ChannelBandwidth.B014 \n structure.Cyclic_Prefix: enums.CyclicPrefix = enums.CyclicPrefix.EXTended \n structure.Channel_Type: enums.SegmentChannelTypeExtended = enums.SegmentChannelTypeExtended.AUTO \n structure.Retrigger_Flag: enums.RetriggerFlag = enums.RetriggerFlag.IFPNarrow \n structure.Evaluat_Offset: int = 1 \n structure.Network_Sig_Value: enums.NetworkSigValueNoCarrAggr = enums.NetworkSigValueNoCarrAggr.NS01 \n driver.configure.multiEval.listPy.segment.setup.set(structure, segment = repcap.Segment.Default) \n Defines the length and analyzer settings of segment <no>. This command must be sent for all segments to be measured (method RsCmwLteMeas.Configure.MultiEval.ListPy.Lrange.set) . For uplink signals with TDD mode, see also method RsCmwLteMeas.Configure.MultiEval.ListPy.Segment.Tdd.set. For carrier-specific settings for carrier aggregation, see CONFigure:LTE:MEAS<i>:MEValuation:LIST:SEGMent<no>:CC<c>. \n :param structure: for set value, see the help for SetupStruct structure arguments. :param segment: optional repeated capability selector. Default value: Nr1 (settable in the interface 'Segment') """ segment_cmd_val = self._cmd_group.get_repcap_cmd_value(segment, repcap.Segment) self._core.io.write_struct(f'CONFigure:LTE:MEASurement<Instance>:MEValuation:LIST:SEGMent{segment_cmd_val}:SETup', structure)
[docs] def get(self, segment=repcap.Segment.Default) -> SetupStruct: """SCPI: CONFigure:LTE:MEASurement<Instance>:MEValuation:LIST:SEGMent<nr>:SETup \n Snippet: value: SetupStruct = driver.configure.multiEval.listPy.segment.setup.get(segment = repcap.Segment.Default) \n Defines the length and analyzer settings of segment <no>. This command must be sent for all segments to be measured (method RsCmwLteMeas.Configure.MultiEval.ListPy.Lrange.set) . For uplink signals with TDD mode, see also method RsCmwLteMeas.Configure.MultiEval.ListPy.Segment.Tdd.set. For carrier-specific settings for carrier aggregation, see CONFigure:LTE:MEAS<i>:MEValuation:LIST:SEGMent<no>:CC<c>. \n :param segment: optional repeated capability selector. Default value: Nr1 (settable in the interface 'Segment') :return: structure: for return value, see the help for SetupStruct structure arguments.""" segment_cmd_val = self._cmd_group.get_repcap_cmd_value(segment, repcap.Segment) return self._core.io.query_struct(f'CONFigure:LTE:MEASurement<Instance>:MEValuation:LIST:SEGMent{segment_cmd_val}:SETup?', self.__class__.SetupStruct())