from .......Internal.Core import Core
from .......Internal.CommandsGroup import CommandsGroup
from .......Internal import Conversions
from ....... import enums
# noinspection PyPep8Naming,PyAttributeOutsideInit,SpellCheckingInspection
[docs]class UdtxCls:
"""Udtx commands group definition. 18 total commands, 6 Subgroups, 6 group commands"""
def __init__(self, core: Core, parent):
self._core = core
self._cmd_group = CommandsGroup("udtx", core, parent)
@property
def burst(self):
"""burst commands group. 0 Sub-classes, 1 commands."""
if not hasattr(self, '_burst'):
from .Burst import BurstCls
self._burst = BurstCls(self._core, self._cmd_group)
return self._burst
@property
def cycle(self):
"""cycle commands group. 0 Sub-classes, 1 commands."""
if not hasattr(self, '_cycle'):
from .Cycle import CycleCls
self._cycle = CycleCls(self._core, self._cmd_group)
return self._cycle
@property
def dpcc(self):
"""dpcc commands group. 0 Sub-classes, 5 commands."""
if not hasattr(self, '_dpcc'):
from .Dpcc import DpccCls
self._dpcc = DpccCls(self._core, self._cmd_group)
return self._dpcc
@property
def postamble(self):
"""postamble commands group. 0 Sub-classes, 1 commands."""
if not hasattr(self, '_postamble'):
from .Postamble import PostambleCls
self._postamble = PostambleCls(self._core, self._cmd_group)
return self._postamble
@property
def preamble(self):
"""preamble commands group. 0 Sub-classes, 1 commands."""
if not hasattr(self, '_preamble'):
from .Preamble import PreambleCls
self._preamble = PreambleCls(self._core, self._cmd_group)
return self._preamble
@property
def usch(self):
"""usch commands group. 0 Sub-classes, 3 commands."""
if not hasattr(self, '_usch'):
from .Usch import UschCls
self._usch = UschCls(self._core, self._cmd_group)
return self._usch
# noinspection PyTypeChecker
[docs] def get_ithreshold(self) -> enums.WcdmaUlDtxThreshold:
"""SCPI: [SOURce<HW>]:BB:W3GPp:MSTation:UDTX:ITHReshold \n
Snippet: value: enums.WcdmaUlDtxThreshold = driver.source.bb.w3Gpp.mstation.udtx.get_ithreshold() \n
Defines the number of consecutive E-DCH TTIs without an E-DCH transmission, after which the UE shall immediately move
from UE-DTX cycle 1 to using UE-DTX cycle 2. \n
:return: threshold: 1| 4| 8| 16| 32| 64| 128| 256
"""
response = self._core.io.query_str('SOURce<HwInstance>:BB:W3GPp:MSTation:UDTX:ITHReshold?')
return Conversions.str_to_scalar_enum(response, enums.WcdmaUlDtxThreshold)
[docs] def set_ithreshold(self, threshold: enums.WcdmaUlDtxThreshold) -> None:
"""SCPI: [SOURce<HW>]:BB:W3GPp:MSTation:UDTX:ITHReshold \n
Snippet: driver.source.bb.w3Gpp.mstation.udtx.set_ithreshold(threshold = enums.WcdmaUlDtxThreshold._1) \n
Defines the number of consecutive E-DCH TTIs without an E-DCH transmission, after which the UE shall immediately move
from UE-DTX cycle 1 to using UE-DTX cycle 2. \n
:param threshold: 1| 4| 8| 16| 32| 64| 128| 256
"""
param = Conversions.enum_scalar_to_str(threshold, enums.WcdmaUlDtxThreshold)
self._core.io.write(f'SOURce<HwInstance>:BB:W3GPp:MSTation:UDTX:ITHReshold {param}')
# noinspection PyTypeChecker
[docs] def get_lp_length(self) -> enums.WcdmaUlDtxLongPreLen:
"""SCPI: [SOURce<HW>]:BB:W3GPp:MSTation:UDTX:LPLength \n
Snippet: value: enums.WcdmaUlDtxLongPreLen = driver.source.bb.w3Gpp.mstation.udtx.get_lp_length() \n
Determines the length in slots of the preamble associated with the UE-DTX cycle 2. \n
:return: long_preamble: 2| 4| 15
"""
response = self._core.io.query_str('SOURce<HwInstance>:BB:W3GPp:MSTation:UDTX:LPLength?')
return Conversions.str_to_scalar_enum(response, enums.WcdmaUlDtxLongPreLen)
[docs] def set_lp_length(self, long_preamble: enums.WcdmaUlDtxLongPreLen) -> None:
"""SCPI: [SOURce<HW>]:BB:W3GPp:MSTation:UDTX:LPLength \n
Snippet: driver.source.bb.w3Gpp.mstation.udtx.set_lp_length(long_preamble = enums.WcdmaUlDtxLongPreLen._15) \n
Determines the length in slots of the preamble associated with the UE-DTX cycle 2. \n
:param long_preamble: 2| 4| 15
"""
param = Conversions.enum_scalar_to_str(long_preamble, enums.WcdmaUlDtxLongPreLen)
self._core.io.write(f'SOURce<HwInstance>:BB:W3GPp:MSTation:UDTX:LPLength {param}')
# noinspection PyTypeChecker
[docs] def get_mode(self) -> enums.WcdmaUlDtxMode:
"""SCPI: [SOURce<HW>]:BB:W3GPp:MSTation:UDTX:MODE \n
Snippet: value: enums.WcdmaUlDtxMode = driver.source.bb.w3Gpp.mstation.udtx.get_mode() \n
The mode is fixed to UL-DTX. \n
:return: uld_tx_mode: UDTX
"""
response = self._core.io.query_str('SOURce<HwInstance>:BB:W3GPp:MSTation:UDTX:MODE?')
return Conversions.str_to_scalar_enum(response, enums.WcdmaUlDtxMode)
[docs] def set_mode(self, uld_tx_mode: enums.WcdmaUlDtxMode) -> None:
"""SCPI: [SOURce<HW>]:BB:W3GPp:MSTation:UDTX:MODE \n
Snippet: driver.source.bb.w3Gpp.mstation.udtx.set_mode(uld_tx_mode = enums.WcdmaUlDtxMode.UDTX) \n
The mode is fixed to UL-DTX. \n
:param uld_tx_mode: UDTX
"""
param = Conversions.enum_scalar_to_str(uld_tx_mode, enums.WcdmaUlDtxMode)
self._core.io.write(f'SOURce<HwInstance>:BB:W3GPp:MSTation:UDTX:MODE {param}')
[docs] def get_offset(self) -> int:
"""SCPI: [SOURce<HW>]:BB:W3GPp:MSTation:UDTX:OFFSet \n
Snippet: value: int = driver.source.bb.w3Gpp.mstation.udtx.get_offset() \n
Sets the parameter UE_DTX_DRX_Offset and determines the start offset in subframes of the first uplink DPCCH burst (after
the preamble) . The offset is applied only for bursts belonging to the DPCCH burst pattern; HS-DPCCH or E-DCH
transmissions are not affected. \n
:return: offset: integer Range: 0 to 159
"""
response = self._core.io.query_str('SOURce<HwInstance>:BB:W3GPp:MSTation:UDTX:OFFSet?')
return Conversions.str_to_int(response)
[docs] def set_offset(self, offset: int) -> None:
"""SCPI: [SOURce<HW>]:BB:W3GPp:MSTation:UDTX:OFFSet \n
Snippet: driver.source.bb.w3Gpp.mstation.udtx.set_offset(offset = 1) \n
Sets the parameter UE_DTX_DRX_Offset and determines the start offset in subframes of the first uplink DPCCH burst (after
the preamble) . The offset is applied only for bursts belonging to the DPCCH burst pattern; HS-DPCCH or E-DCH
transmissions are not affected. \n
:param offset: integer Range: 0 to 159
"""
param = Conversions.decimal_value_to_str(offset)
self._core.io.write(f'SOURce<HwInstance>:BB:W3GPp:MSTation:UDTX:OFFSet {param}')
[docs] def get_state(self) -> bool:
"""SCPI: [SOURce<HW>]:BB:W3GPp:MSTation:UDTX:STATe \n
Snippet: value: bool = driver.source.bb.w3Gpp.mstation.udtx.get_state() \n
Enables/disables UL-DTX. Enabling the UL-DTX deactivates the DPDCH and the HSUPA FRC. \n
:return: state: 1| ON| 0| OFF
"""
response = self._core.io.query_str('SOURce<HwInstance>:BB:W3GPp:MSTation:UDTX:STATe?')
return Conversions.str_to_bool(response)
[docs] def set_state(self, state: bool) -> None:
"""SCPI: [SOURce<HW>]:BB:W3GPp:MSTation:UDTX:STATe \n
Snippet: driver.source.bb.w3Gpp.mstation.udtx.set_state(state = False) \n
Enables/disables UL-DTX. Enabling the UL-DTX deactivates the DPDCH and the HSUPA FRC. \n
:param state: 1| ON| 0| OFF
"""
param = Conversions.bool_to_str(state)
self._core.io.write(f'SOURce<HwInstance>:BB:W3GPp:MSTation:UDTX:STATe {param}')
# noinspection PyTypeChecker
[docs] def get_ttiedch(self) -> enums.HsUpaDchTti:
"""SCPI: [SOURce<HW>]:BB:W3GPp:MSTation:UDTX:TTIEdch \n
Snippet: value: enums.HsUpaDchTti = driver.source.bb.w3Gpp.mstation.udtx.get_ttiedch() \n
Sets the duration of a E-DCH TTI. \n
:return: edch_tti: 2ms| 10ms Range: 2ms to 10ms
"""
response = self._core.io.query_str('SOURce<HwInstance>:BB:W3GPp:MSTation:UDTX:TTIEdch?')
return Conversions.str_to_scalar_enum(response, enums.HsUpaDchTti)
[docs] def set_ttiedch(self, edch_tti: enums.HsUpaDchTti) -> None:
"""SCPI: [SOURce<HW>]:BB:W3GPp:MSTation:UDTX:TTIEdch \n
Snippet: driver.source.bb.w3Gpp.mstation.udtx.set_ttiedch(edch_tti = enums.HsUpaDchTti._10ms) \n
Sets the duration of a E-DCH TTI. \n
:param edch_tti: 2ms| 10ms Range: 2ms to 10ms
"""
param = Conversions.enum_scalar_to_str(edch_tti, enums.HsUpaDchTti)
self._core.io.write(f'SOURce<HwInstance>:BB:W3GPp:MSTation:UDTX:TTIEdch {param}')
def clone(self) -> 'UdtxCls':
"""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 = UdtxCls(self._core, self._cmd_group.parent)
self._cmd_group.synchronize_repcaps(new_group)
return new_group