from ......Internal.Core import Core
from ......Internal.CommandsGroup import CommandsGroup
from ......Internal import Conversions
from ...... import enums
from ...... import repcap
# noinspection PyPep8Naming,PyAttributeOutsideInit,SpellCheckingInspection
class TmodeCls:
"""
| Commands in total: 1
| Subgroups: 0
| Direct child commands: 1
"""
def __init__(self, core: Core, parent):
self._core = core
self._cmd_group = CommandsGroup("tmode", core, parent)
[docs]
def set(self, tmode: enums.WlannFbTxMode, frameBlock=repcap.FrameBlock.Default) -> None:
"""
``[SOURce<HW>]:BB:WLNN:FBLock<CH>:TMODe`` \n
Snippet: ``driver.source.bb.wlnn.fblock.tmode.set(tmode = enums.WlannFbTxMode.CCK, frameBlock = repcap.FrameBlock.Default)`` \n
Sets the transmission (TX) mode. The available TX modes depend on the IEEE 802.11 standard and the transmission bandwidth.
For details, see the table Table 'TX mode for frame type Data/Trigger and Physical Mode > Mixed Mode' and the following
tables.
:param tmode: L10 | L20 | LDUP | LUP | LLOW | CCK | PBCC | HT20 | HT40 | HTDup | HTUP | HTLow | V20 | V40 | V80 | V8080 | V160 | HE20 | HE40 | HE80 | HE8080 | HE160 | EHT20 | EHT40 | EHT80 | EHT160 | EHT320 | UHR L20 | LDUP | LUP | LLOW TX modes for the standards IEEE 802.11a/g. CCK | PBCC TX modes for the standards IEEE 802.11b/g. L10 | L20 TX modes for the standards IEEE 802.11p/j. HT20 | HT40 | HTDup | HTUP | HTLow TX modes for the standards IEEE 802.11n. V20 | V40 | V80 | V8080 | V160 TX modes for the standards IEEE 802.11ac. HE20 | HE40 | HE80 | HE8080 | HE160 TX modes for the standards IEEE 802.11ax. EHT20 | EHT40 | EHT80 | EHT160 | EHT320 TX modes for the standards IEEE 802.11be. UHR TX modes for the standards IEEE 802.11bn.
:param frameBlock: optional repeated capability selector. Default value: Nr1 (settable in the interface 'Fblock')
"""
param = Conversions.enum_scalar_to_str(tmode, enums.WlannFbTxMode)
frameBlock_cmd_val = self._cmd_group.get_repcap_cmd_value(frameBlock, repcap.FrameBlock)
self._core.io.write(f'SOURce<HwInstance>:BB:WLNN:FBLock{frameBlock_cmd_val}:TMODe {param}')
# noinspection PyTypeChecker
[docs]
def get(self, frameBlock=repcap.FrameBlock.Default) -> enums.WlannFbTxMode:
"""
``[SOURce<HW>]:BB:WLNN:FBLock<CH>:TMODe`` \n
Snippet: ``value: enums.WlannFbTxMode = driver.source.bb.wlnn.fblock.tmode.get(frameBlock = repcap.FrameBlock.Default)`` \n
Sets the transmission (TX) mode. The available TX modes depend on the IEEE 802.11 standard and the transmission bandwidth.
For details, see the table Table 'TX mode for frame type Data/Trigger and Physical Mode > Mixed Mode' and the following
tables.
:param frameBlock: optional repeated capability selector. Default value: Nr1 (settable in the interface 'Fblock')
:return: tmode: L10 | L20 | LDUP | LUP | LLOW | CCK | PBCC | HT20 | HT40 | HTDup | HTUP | HTLow | V20 | V40 | V80 | V8080 | V160 | HE20 | HE40 | HE80 | HE8080 | HE160 | EHT20 | EHT40 | EHT80 | EHT160 | EHT320 | UHR L20 | LDUP | LUP | LLOW TX modes for the standards IEEE 802.11a/g. CCK | PBCC TX modes for the standards IEEE 802.11b/g. L10 | L20 TX modes for the standards IEEE 802.11p/j. HT20 | HT40 | HTDup | HTUP | HTLow TX modes for the standards IEEE 802.11n. V20 | V40 | V80 | V8080 | V160 TX modes for the standards IEEE 802.11ac. HE20 | HE40 | HE80 | HE8080 | HE160 TX modes for the standards IEEE 802.11ax. EHT20 | EHT40 | EHT80 | EHT160 | EHT320 TX modes for the standards IEEE 802.11be. UHR TX modes for the standards IEEE 802.11bn.
"""
frameBlock_cmd_val = self._cmd_group.get_repcap_cmd_value(frameBlock, repcap.FrameBlock)
response = self._core.io.query_str(f'SOURce<HwInstance>:BB:WLNN:FBLock{frameBlock_cmd_val}:TMODe?')
return Conversions.str_to_scalar_enum(response, enums.WlannFbTxMode)