from ......Internal.Core import Core
from ......Internal.CommandsGroup import CommandsGroup
from ......Internal import Conversions
from ...... import enums
# noinspection PyPep8Naming,PyAttributeOutsideInit,SpellCheckingInspection
class EmlldCls:
"""
| Commands in total: 70
| Subgroups: 6
| Direct child commands: 8
"""
def __init__(self, core: Core, parent):
self._core = core
self._cmd_group = CommandsGroup("emlld", core, parent)
@property
def fconfig(self):
"""
| Commands in total: 19
| Subgroups: 4
| Direct child commands: 13
"""
if not hasattr(self, '_fconfig'):
from .Fconfig import FconfigCls
self._fconfig = FconfigCls(self._core, self._cmd_group)
return self._fconfig
@property
def phr(self):
"""
| Commands in total: 1
| Subgroups: 0
| Direct child commands: 1
"""
if not hasattr(self, '_phr'):
from .Phr import PhrCls
self._phr = PhrCls(self._core, self._cmd_group)
return self._phr
@property
def macHeader(self):
"""
| Commands in total: 31
| Subgroups: 0
| Direct child commands: 31
"""
if not hasattr(self, '_macHeader'):
from .MacHeader import MacHeaderCls
self._macHeader = MacHeaderCls(self._core, self._cmd_group)
return self._macHeader
@property
def setting(self):
"""
| Commands in total: 2
| Subgroups: 0
| Direct child commands: 2
"""
if not hasattr(self, '_setting'):
from .Setting import SettingCls
self._setting = SettingCls(self._core, self._cmd_group)
return self._setting
@property
def sfd(self):
"""
| Commands in total: 2
| Subgroups: 0
| Direct child commands: 2
"""
if not hasattr(self, '_sfd'):
from .Sfd import SfdCls
self._sfd = SfdCls(self._core, self._cmd_group)
return self._sfd
@property
def sts(self):
"""
| Commands in total: 7
| Subgroups: 1
| Direct child commands: 6
"""
if not hasattr(self, '_sts'):
from .Sts import StsCls
self._sts = StsCls(self._core, self._cmd_group)
return self._sts
# noinspection PyTypeChecker
[docs]
def get_cct(self) -> enums.HrpUwbConvConsLenDrm:
"""
``[SOURce<HW>]:BB:LRWPan:EMLLd:CCT`` \n
Snippet: ``value: enums.HrpUwbConvConsLenDrm = driver.source.bb.lrWpan.emlld.get_cct()`` \n
Requires [:SOURce<hw>]:BB:LRWPan | HUWB:STD EHPRF | SENS. Sets the channel code type. The channel code type depends on
the selected PHR data rate mode.
:return: cccl: CL3 | CL7 | LDPC
"""
response = self._core.io.query_str('SOURce<HwInstance>:BB:LRWPan:EMLLd:CCT?')
return Conversions.str_to_scalar_enum(response, enums.HrpUwbConvConsLenDrm)
[docs]
def set_cct(self, cccl: enums.HrpUwbConvConsLenDrm) -> None:
"""
``[SOURce<HW>]:BB:LRWPan:EMLLd:CCT`` \n
Snippet: ``driver.source.bb.lrWpan.emlld.set_cct(cccl = enums.HrpUwbConvConsLenDrm.CL3)`` \n
Requires [:SOURce<hw>]:BB:LRWPan | HUWB:STD EHPRF | SENS. Sets the channel code type. The channel code type depends on
the selected PHR data rate mode.
:param cccl: CL3 | CL7 | LDPC
"""
param = Conversions.enum_scalar_to_str(cccl, enums.HrpUwbConvConsLenDrm)
self._core.io.write(f'SOURce<HwInstance>:BB:LRWPan:EMLLd:CCT {param}')
[docs]
def get_srf(self) -> bool:
"""
``[SOURce<HW>]:BB:LRWPan:EMLLd:SRF`` \n
Snippet: ``value: bool = driver.source.bb.lrWpan.emlld.get_srf()`` \n
Sets the RF output frequency automatically to the value of the channel center frequency according to the selected channel
number. You can still adjust the RF frequency afterwards.
:return: set_rf: 1 | ON | 0| OFF
"""
response = self._core.io.query_str('SOURce<HwInstance>:BB:LRWPan:EMLLd:SRF?')
return Conversions.str_to_bool(response)
[docs]
def set_srf(self, set_rf: bool) -> None:
"""
``[SOURce<HW>]:BB:LRWPan:EMLLd:SRF`` \n
Snippet: ``driver.source.bb.lrWpan.emlld.set_srf(set_rf = False)`` \n
Sets the RF output frequency automatically to the value of the channel center frequency according to the selected channel
number. You can still adjust the RF frequency afterwards.
:param set_rf: 1 | ON | 0| OFF
"""
param = Conversions.bool_to_str(set_rf)
self._core.io.write(f'SOURce<HwInstance>:BB:LRWPan:EMLLd:SRF {param}')
# noinspection PyTypeChecker
[docs]
def get_asl(self) -> enums.HrpUwbActSegmentLength:
"""
``[SOURce<HW>]:BB:[LRWPan]:EMLLd:ASL`` \n
Snippet: ``value: enums.HrpUwbActSegmentLength = driver.source.bb.lrWpan.emlld.get_asl()`` \n
Sets the active segment length.
:return: act_seg_length: ASL_16 | ASL_32 | ASL_64 | ASL_128 | ASL_256 | ASL_512 | ASL_1024 | ASL_2048
"""
response = self._core.io.query_str('SOURce<HwInstance>:BB:LRWPan:EMLLd:ASL?')
return Conversions.str_to_scalar_enum(response, enums.HrpUwbActSegmentLength)
[docs]
def set_asl(self, act_seg_length: enums.HrpUwbActSegmentLength) -> None:
"""
``[SOURce<HW>]:BB:[LRWPan]:EMLLd:ASL`` \n
Snippet: ``driver.source.bb.lrWpan.emlld.set_asl(act_seg_length = enums.HrpUwbActSegmentLength.ASL_1024)`` \n
Sets the active segment length.
:param act_seg_length: ASL_16 | ASL_32 | ASL_64 | ASL_128 | ASL_256 | ASL_512 | ASL_1024 | ASL_2048
"""
param = Conversions.enum_scalar_to_str(act_seg_length, enums.HrpUwbActSegmentLength)
self._core.io.write(f'SOURce<HwInstance>:BB:LRWPan:EMLLd:ASL {param}')
# noinspection PyTypeChecker
[docs]
def get_asn(self) -> enums.HrpUwbActSegmentNum:
"""
``[SOURce<HW>]:BB:[LRWPan]:EMLLd:ASN`` \n
Snippet: ``value: enums.HrpUwbActSegmentNum = driver.source.bb.lrWpan.emlld.get_asn()`` \n
Requires [:SOURce<hw>]:BB:LRWPan | HUWB:STD BPRF | HPRF | EHPRF | SENS. Sets the number of active segments.
:return: acg_seg_number: ASN_1 | ASN_2 | ASN_3 | ASN_4
"""
response = self._core.io.query_str('SOURce<HwInstance>:BB:LRWPan:EMLLd:ASN?')
return Conversions.str_to_scalar_enum(response, enums.HrpUwbActSegmentNum)
[docs]
def set_asn(self, acg_seg_number: enums.HrpUwbActSegmentNum) -> None:
"""
``[SOURce<HW>]:BB:[LRWPan]:EMLLd:ASN`` \n
Snippet: ``driver.source.bb.lrWpan.emlld.set_asn(acg_seg_number = enums.HrpUwbActSegmentNum.ASN_1)`` \n
Requires [:SOURce<hw>]:BB:LRWPan | HUWB:STD BPRF | HPRF | EHPRF | SENS. Sets the number of active segments.
:param acg_seg_number: ASN_1 | ASN_2 | ASN_3 | ASN_4
"""
param = Conversions.enum_scalar_to_str(acg_seg_number, enums.HrpUwbActSegmentNum)
self._core.io.write(f'SOURce<HwInstance>:BB:LRWPan:EMLLd:ASN {param}')
[docs]
def get_bandwidth(self) -> float:
"""
``[SOURce<HW>]:BB:[LRWPan]:EMLLd:BWIDth`` \n
Snippet: ``value: float = driver.source.bb.lrWpan.emlld.get_bandwidth()`` \n
Queries the channel bandwidth. The bandwidth depends on the channel number.
"""
response = self._core.io.query_str('SOURce<HwInstance>:BB:LRWPan:EMLLd:BWIDth?')
return Conversions.str_to_float(response)
[docs]
def get_cnumber(self) -> int:
"""
``[SOURce<HW>]:BB:[LRWPan]:EMLLd:CNUMber`` \n
Snippet: ``value: int = driver.source.bb.lrWpan.emlld.get_cnumber()`` \n
Sets the channel number that is a 4-bit value in decimal representation. The channel number determines the bandwidth and
the code index.
:return: channel_number: integer Range: 0 to 15
"""
response = self._core.io.query_str('SOURce<HwInstance>:BB:LRWPan:EMLLd:CNUMber?')
return Conversions.str_to_int(response)
[docs]
def set_cnumber(self, channel_number: int) -> None:
"""
``[SOURce<HW>]:BB:[LRWPan]:EMLLd:CNUMber`` \n
Snippet: ``driver.source.bb.lrWpan.emlld.set_cnumber(channel_number = 1)`` \n
Sets the channel number that is a 4-bit value in decimal representation. The channel number determines the bandwidth and
the code index.
:param channel_number: integer Range: 0 to 15
"""
param = Conversions.decimal_value_to_str(channel_number)
self._core.io.write(f'SOURce<HwInstance>:BB:LRWPan:EMLLd:CNUMber {param}')
[docs]
def get_f_2_ms(self) -> bool:
"""
``[SOURce<HW>]:BB:[LRWPan]:EMLLd:F2MS`` \n
Snippet: ``value: bool = driver.source.bb.lrWpan.emlld.get_f_2_ms()`` \n
Sets the frame length of a generated waveform shorter than 2 ms to a fixed value of 2 ms. If activated, the idle interval
is set to 0.0 us by default. Generated waveforms longer than 2 ms remain unaffected.
:return: fixed_2_ms_frame: 1 | ON | 0| OFF
"""
response = self._core.io.query_str('SOURce<HwInstance>:BB:LRWPan:EMLLd:F2MS?')
return Conversions.str_to_bool(response)
[docs]
def set_f_2_ms(self, fixed_2_ms_frame: bool) -> None:
"""
``[SOURce<HW>]:BB:[LRWPan]:EMLLd:F2MS`` \n
Snippet: ``driver.source.bb.lrWpan.emlld.set_f_2_ms(fixed_2_ms_frame = False)`` \n
Sets the frame length of a generated waveform shorter than 2 ms to a fixed value of 2 ms. If activated, the idle interval
is set to 0.0 us by default. Generated waveforms longer than 2 ms remain unaffected.
:param fixed_2_ms_frame: 1 | ON | 0| OFF
"""
param = Conversions.bool_to_str(fixed_2_ms_frame)
self._core.io.write(f'SOURce<HwInstance>:BB:LRWPan:EMLLd:F2MS {param}')
[docs]
def get_iinterval(self) -> float:
"""
``[SOURce<HW>]:BB:[LRWPan]:EMLLd:IINTerval`` \n
Snippet: ``value: float = driver.source.bb.lrWpan.emlld.get_iinterval()`` \n
Sets the time of the interval separating two frames.
:return: iinterval: float Range: 0 to 1000000, Unit: us
"""
response = self._core.io.query_str('SOURce<HwInstance>:BB:LRWPan:EMLLd:IINTerval?')
return Conversions.str_to_float(response)
[docs]
def set_iinterval(self, iinterval: float) -> None:
"""
``[SOURce<HW>]:BB:[LRWPan]:EMLLd:IINTerval`` \n
Snippet: ``driver.source.bb.lrWpan.emlld.set_iinterval(iinterval = 1.0)`` \n
Sets the time of the interval separating two frames.
:param iinterval: float Range: 0 to 1000000, Unit: us
"""
param = Conversions.decimal_value_to_str(iinterval)
self._core.io.write(f'SOURce<HwInstance>:BB:LRWPan:EMLLd:IINTerval {param}')
def clone(self) -> 'EmlldCls':
"""
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 = EmlldCls(self._core, self._cmd_group.parent)
self._cmd_group.synchronize_repcaps(new_group)
return new_group