"""enums.py - Contains enum classes."""
from enum import Enum, IntFlag
[docs]
class AllIQImpairmentsEnabled(Enum):
"""AllIQImpairmentsEnabled."""
FALSE = 0
r"""Specifies that the BT Generation does not add I/Q impairments to the signal."""
TRUE = 1
r"""Specifies that the BT Generation adds I/Q impairments to the signal."""
[docs]
class AntennaSwitchingEnabled(Enum):
"""AntennaSwitchingEnabled."""
FALSE = 0
r"""The Constant Tone Extension (CTE) field in the generated LE packet is not modulated in phase and amplitude."""
TRUE = 1
r"""The Constant Tone Extension (CTE) field in the generated LE packet is modulated in phase and amplitude as per
the Relative Phase (deg) value and Relative amplitude (dB) value specified."""
[docs]
class AutoHeadroomEnabled(Enum):
"""AutoHeadroomEnabled."""
FALSE = 0
r"""Specifies that the BT Generation uses the headroom that you specify in the NIBTSG_HEADROOM attribute."""
TRUE = 1
r"""Specifies that the BT Generation computes the headroom value based on the peak power of the signal. The BT
Generation assumes that the generated signal average power is 0 dB. The BT Generation adds a power margin of 1.5
dB to the peak power to give some room for the filters in the NI RF vector signal generator. You can read the
value of the computed headroom using the NIBTSG_ACTUAL_HEADROOM attribute."""
[docs]
class AwgnEnabled(Enum):
"""AwgnEnabled."""
FALSE = 0
r"""Specifies that the BT Generation does not add AWGN to the baseband waveform."""
TRUE = 1
r"""Specifies that the BT Generation adds AWGN to the baseband waveform."""
[docs]
class CarrierMode(Enum):
"""CarrierMode."""
BURST = 0
r"""Specifies that the carrier mode includes bursts."""
CONTINUOUS = 1
r"""Specifies that the carrier mode is continuous."""
[docs]
class CSSyncSequence(Enum):
"""CSSyncSequence."""
NONE = 0
r"""Specifies that the LE CS packet does not contain sounding sequence field."""
SOUNDING_SEQUENCE = 1
r"""Specifies that the LE CS packet contain sounding sequence field."""
PAYLOAD_PATTERN = 2
r"""Specifies that the LE CS packet contain payload bit pattern field."""
[docs]
class CSToneExtensionSlotEnabled(Enum):
"""CSToneExtensionSlotEnabled."""
FALSE = 0
r"""Specifies that the generated LE CS packet does not contain CS tone extension slot."""
TRUE = 1
r"""Specifies that the generated LE CS packet contains CS tone extension slot."""
[docs]
class DirtyTxEnabled(Enum):
"""DirtyTxEnabled."""
FALSE = 0
r"""Disables the dirty transmitter."""
TRUE = 1
r"""Enables the dirty transmitter."""
[docs]
class DirtyTxMode(Enum):
"""DirtyTxMode."""
STANDARD = 0
r"""Enables the dirty transmitter with the standard settings."""
USER_DEFINED = 1
r"""Enables the dirty transmitter with the user-defined settings."""
FREQUENCY_DRIFT = 2
r"""Enables the dirty transmitter with the standard defined frequency drift only for LE HDT packets."""
[docs]
class DirtyTxParametersEnabledSet(Enum):
"""DirtyTxParametersEnabledSet."""
FALSE = 0
r"""Specifies that the BT Generation does not use the parameters in the impairment sets."""
TRUE = 1
r"""Specifies that the BT Generation uses the parameters in the impairment sets."""
[docs]
class DVVoicePayloadDataType(Enum):
"""DVVoicePayloadDataType."""
PN_SEQUENCE = 0
r"""Specifies that the BT Generation uses a Galois pseudonoise (PN) bit sequence with a payload order and seed,
which you specify in the NIBTSG_DV_VOICE_PAYLOAD_PN_ORDER and NIBTSG_DV_VOICE_PAYLOAD_PN_SEED attributes
respectively, to create the payload for generation."""
USER_DEFINED_BITS = 1
r"""Specifies that the BT Generation repeats the bit pattern, which you specify in the
NIBTSG_DV_VOICE_PAYLOAD_USER_DEFINED_BITS attribute, to achieve the necessary payload length."""
[docs]
class LETPCorruptAlternateCrc(Enum):
"""LETPCorruptAlternateCrc."""
FALSE = 0
r"""Disables CRC corruption of alternate LE packets."""
TRUE = 1
r"""Enables CRC corruption of alternate LE packets. Set NIBTSG_NUMBER_OF_UNIQUE_PACKETS attribute to an even number
when the NIBTSG_LE_TP_CORRUPT_ALTERNATE_CRC attribute is set to NIBTSG_VAL_TRUE."""
[docs]
class LETPPayloadType(Enum):
"""LETPPayloadType."""
PRBS9 = 0
r"""Specifies that the payload type is PRBS9."""
LE_TP_PAYLOAD_TYPE_11110000 = 1
r"""Specifies that the payload type is 11110000."""
LE_TP_PAYLOAD_TYPE_10101010 = 2
r"""Specifies that the payload type is 10101010."""
PRBS15 = 3
r"""Specifies that the payload type is PRBS15."""
LE_TP_PAYLOAD_TYPE_11111111 = 4
r"""Specifies that the payload type is 11111111."""
LE_TP_PAYLOAD_TYPE_00000000 = 5
r"""Specifies that the payload type is 00000000."""
LE_TP_PAYLOAD_TYPE_00001111 = 6
r"""Specifies that the payload type is 00001111."""
LE_TP_PAYLOAD_TYPE_01010101 = 7
r"""Specifies that the payload type is 01010101."""
USER_DEFINED_BITS = 8
r"""Specifies that the BT Generation uses the bit pattern that you specify in the NIBTSG_PAYLOAD_USER_DEFINED_BITS
attribute."""
[docs]
class PacketType(Enum):
"""PacketType."""
NULL = 0
r"""Specifies that the packet type is NULL. This packet has no payload and consists of the channel access code and
packet header only. Refer to Section 6.5.1.2, Part B, Volume 2 of the Bluetooth Specification v6.0 for more
information about this packet."""
POLL = 1
r"""Specifies that the packet type is POLL. The POLL packet does not have a payload. Refer to Section 6.5.1.3, Part
B, Volume 2 of the Bluetooth Specification v6.0 for more information about this packet."""
FHS = 2
r"""Specifies that the packet type is frequency hop synchronization (FHS). The FHS packet is a special control
packet containing the Bluetooth device address and the sender's clock. Refer to Section 6.5.1.4, Part B, Volume
2 of the Bluetooth Specification v6.0 for more information about this packet."""
DM1 = 3
r"""Specifies that the packet type is DM1. The DM1 packet carries only data information. The information and cyclic
redundancy check (CRC) bits are coded with a rate 2/3 FEC. The DM1 packet occupies a single time slot. Refer to
Sections 6.5.1.5 and 6.5.4.1, Part B, Volume 2 of the Bluetooth Specification v6.0 for more information about
this packet."""
DH1 = 4
r"""Specifies that the packet type is DH1. This packet is similar to the DM1 packet, except that the information in
the payload is not forward error correction (FEC) encoded. The DH1 packet occupies a single time slot. Refer to
Sections 6.5.1.5 and 6.5.4.2, Part B, Volume 2 of the Bluetooth Specification v6.0 for more information about
this packet."""
PACKET_TYPE_2DH1 = 5
r"""Specifies that the packet type is 2-DH1. This packet is similar to the DH1 packet, except that the information
in the payload is modulated using pi/4-QPSK. Refer to Section 6.5.4.8, Part B, Volume 2 of the Bluetooth
Specification v6.0 for more information about this packet."""
HV1 = 6
r"""Specifies that the packet type is HV1. The HV1 packet has 10 information bytes. Refer to Section 6.5.2.1, Part
B, Volume 2 of the Bluetooth Specification v6.0 for more information about this packet."""
HV2 = 7
r"""Specifies that the packet type is HV2. The HV2 packet has 20 information bytes. Refer to Section 6.5.2.3, Part
B, Volume 2 of the Bluetooth Specification v6.0 for more information about this packet."""
PACKET_TYPE_2EV3 = 8
r"""Specifies that the packet type is 2-EV3. This packet is similar to the EV3 packet, except that the payload is
modulated using pi/4-DQPSK. It has 1 and 60 information bytes, inclusive, and a 16-bit CRC code. Refer to
Section 6.5.3.4, Part B, Volume 2 of the Bluetooth Specification v6.0 for more information about this packet."""
HV3 = 9
r"""Specifies that the packet type is HV3. The HV3 packet has 30 information bytes. The information bytes are not
protected by forward error correction (FEC). Refer to Section 6.5.2.3, Part B, Volume 2 of the Bluetooth
Specification v6.0 for more information about this packet."""
EV3 = 10
r"""Specifies that the packet type is EV3. The EV3 packet has 1 to 30 information bytes, inclusive, and a 16-bit CRC
code. Refer to Section 6.5.3.1, Part B, Volume 2 of the Bluetooth Specification v6.0 for more information about
this packet."""
PACKET_TYPE_3EV3 = 11
r"""Specifies that the packet type is 3-EV3. The 3-EV3 packet is similar to the EV3 packet, except that the payload
is modulated using 8-DPSK. The 3-EV3 packet has 1 to 90 information bytes, inclusive and a 16-bit CRC code.
Refer to Section 6.5.3.6, Part B, Volume 2 of the Bluetooth Specification v6.0 for more information about this
packet."""
DV = 12
r"""Specifies that the packet type is data voice (DV). The DV packet is a combined data-voice packet. Refer to
Section 6.5.2.4, Part B, Volume 2 of the Bluetooth Specification v6.0 for more information about this packet."""
PACKET_TYPE_3DH1 = 13
r"""Specifies that the packet type is 3-DH1. This packet is similar to the DH1 packet, except that the payload is
modulated using 8-DPSK. Refer to Section 6.5.4.11, Part B, Volume 2 of the Bluetooth Specification v6.0 for more
information about this packet."""
AUX1 = 14
r"""Specifies that the packet type is AUX1. This packet resembles a DH1 packet but has no cyclic redundancy check
(CRC) code. Refer to Section 6.5.4.7, Part B, Volume 2 of the Bluetooth Specification v6.0 for more information
about this packet."""
DM3 = 15
r"""Specifies that the packet type is DM3. This packet may occupy up to three time slots. The payload has 2 to 123
information bytes, inclusive (including the 2-byte payload header) and a 16-bit CRC code. Refer to Section
6.5.4.3, Part B, Volume 2 of the Bluetooth Specification v6.0 for more information about this packet."""
PACKET_TYPE_2DH3 = 16
r"""Specifies that the packet type is 2-DH3. This packet is similar to the DH3 packet, except that the payload is
modulated using pi/4-DQPSK. Refer to Section 6.5.4.9, Part B, Volume 2 of the Bluetooth Specification v6.0 for
more information about this packet."""
DH3 = 17
r"""Specifies that the packet type is DH3. This packet is similar to the DM3 packet, except that the information in
the payload is not forward error correction (FEC) encoded. Refer to Section 6.5.4.4, Part B, Volume 2 of the
Bluetooth Specification v6.0 for more information about this packet."""
PACKET_TYPE_3DH3 = 18
r"""Specifies that the packet type is 3-DH3. This packet is similar to the DH3 packet, except that the payload is
modulated using 8-DPSK. Refer to Section 6.5.4.12, Part B, Volume 2 of the Bluetooth Specification v6.0 for more
information about this packet."""
EV4 = 19
r"""Specifies that the packet type is EV4. The EV4 packet has 1 to 120 information bytes, inclusive, and a 16-bit
CRC code. Refer to Section 6.5.3.2, Part B, Volume 2 of the Bluetooth Specification v6.0 for more information
about this packet."""
PACKET_TYPE_2EV5 = 20
r"""Specifies that the packet type is 2-EV5. The 2-EV5 packet is similar to the EV5 packet, except that the payload
is modulated using pi/4-DQPSK. Refer to Section 6.5.3.5, Part B, Volume 2 of the Bluetooth Specification v6.0
for more information about this packet."""
EV5 = 21
r"""Specifies that the packet type is EV5. The EV5 packet has 1 to 180 information bytes, inclusive, and a 16-bit
CRC code. Refer to Section 6.5.3.3, Part B, Volume 2 of the Bluetooth Specification v6.0 for more information
about this packet."""
PACKET_TYPE_3EV5 = 22
r"""Specifies that the packet type is 3-EV5. The 3-EV5 packet is similar to the EV5 packet, except that the payload
is modulated using 8-DPSK. Refer to Section 6.5.3.7, Part B, Volume 2 of the Bluetooth Specification v6.0 for
more information about this packet."""
DM5 = 23
r"""Specifies that the packet type is DM5. The payload has 2 to 226 information bytes (including the 2-byte payload
header), inclusive, and a 16-bit CRC code. Refer to Section 6.5.4.6, Part B, Volume 2 of the Bluetooth
Specification v6.0 for more information about this packet."""
PACKET_TYPE_2DH5 = 24
r"""Specifies that the packet type is 2-DH5. This packet is similar to the DH5 packet, except that the payload is
modulated using pi/4-DQPSK. Refer to Section 6.5.4.10, Part B, Volume 2 of the Bluetooth Specification v6.0 for
more information about this packet."""
DH5 = 25
r"""Specifies that the packet type is DH5. This packet is similar to the DM5 packet, except that the information in
the payload is not forward error correction (FEC) encoded. Refer to Section 6.5.4.6, Part B, Volume 2 of the
Bluetooth Specification v6.0 for more information about this packet."""
PACKET_TYPE_3DH5 = 26
r"""Specifies that the packet type is 3-DH5. This packet is similar to the DH5 packet, except that the payload is
modulated using 8-DPSK. Refer to Section 6.5.4.13, Part B, Volume 2 of the Bluetooth Specification v6.0 for more
information about this packet."""
LE_TP = 27
r"""Specifies that the packet type is LE-TP. Refer to Section 2.1, Part B, Volume 6 of the Bluetooth Specification
v6.0 for more information about this packet."""
LE_TP_EXT = 28
r"""Specifies that the packet type is LE-TP-EXT. This packet is similar to the LE-TP packet, except that the payload
length is extended up to 8191 bytes. For payload length up to 255 bytes, typical LE packet is generated. For
payload length greater than 255 bytes, Hyper Length LE packet is generated. Refer to Section 2.1, Part B, Volume
6 of the Bluetooth Specification v4.2 for more information about this packet."""
LE_ENHANCED = 29
r"""Specifies that the packet type is LE-Enhanced. This is an LE packet type with a symbol rate of 2 Ms/s and
maximum payload length of 8191 bytes. For payload length up to 255 bytes, typical LE packet is generated. For
payload length greater than 255 bytes, Hyper Length LE packet is generated. Refer to Section 2.1, Part B, Volume
6 of the Bluetooth Specification v6.0 for more information about this packet."""
LE_LR_125K = 30
r"""Specifies that the packet type is LE-LR-125k. This is an LE packet type which supports long range communication
at a data rate of 125 kbps. Refer to Section 2.2, Part B, Volume 6 of the Bluetooth Specification v6.0 for more
information about this packet."""
LE_LR_500K = 31
r"""Specifies that the packet type is LE-LR-500k. This is an LE packet type which supports long range communication
at a data rate of 500 kbps. Refer to Section 2.2, Part B, Volume 6 of the Bluetooth Specification v6.0 for more
information about this packet."""
LE_CS_1M = 32
r"""Specifies that the packet type is LE-CS-1M. This is a LE packet type which supports channel sounding feature at
a data rate of 1Ms/s. Refer to Section 2, Part H, Volume 6 of the Bluetooth Specification v6.0 for more
information about this packet."""
LE_CS_2M = 33
r"""Specifies that the packet type is LE-CS-2M. This is a LE packet type which supports channel sounding feature at
a data rate of 2Ms/s. Refer to Section 2, Part H, Volume 6 of the Bluetooth Specification v6.0 for more
information about this packet."""
LE_HDT = 34
r"""Specifies that the packet type is LE-HDT. This is a LE packet type which supports higher data rates (2 Mb/s, 3
Mb/s, 4 Mb/s, 6 Mb/s, and 7.5Mb/s)."""
ID = 254
r"""Specifies that the packet type is ID. The identity, or ID, packet consists of the device access code (DAC) or
inquiry access code (IAC). Refer to Section 6.5.1.1, Part B, Volume 2 of the Bluetooth Specification v6.0 for
more information about this packet."""
IDLE = 255
r"""Specifies that the packet type is Idle. This packet type is not defined in the Bluetooth Specification v6.0. You
can use this packet to create empty slots between Bluetooth packets."""
[docs]
class PayloadDataType(Enum):
"""PayloadDataType."""
PN_SEQUENCE = 0
r"""Specifies that the BT Generation uses a Galois pseudonoise (PN) bit sequence with a payload order and seed,
which you specify in the NIBTSG_PAYLOAD_PN_ORDER and NIBTSG_PAYLOAD_PN_SEED attributes respectively, to create
the payload for generation."""
USER_DEFINED_BITS = 1
r"""Specifies that the BT Generation repeats the bit pattern, which you specify in the
NIBTSG_PAYLOAD_USER_DEFINED_BITS attribute, to achieve the necessary payload length."""
[docs]
class PayloadLengthMode(Enum):
"""PayloadLengthMode."""
MAXIMUM_LENGTH = 0
r"""Specifies that the BT Generation sets the length to the maximum permissible payload length."""
USER_DEFINED = 1
r"""Specifies that the BT Generation sets the length to the value that you specify in the NIBTSG_PAYLOAD_LENGTH
attribute."""
[docs]
class TxlenSequenceNumber(Enum):
"""TxlenSequenceNumber."""
TXLEN_SEQUENCE_NUMBER_00 = 0
r"""Specifies that the packet does not include a payload or any of its blocks."""
TXLEN_SEQUENCE_NUMBER_01 = 1
r"""Specifies that the payload has 1 block and the Payload Length is
:py:attr:`~nirfmxbluetoothgen.attributes.AttributeID.LAST_BLOCK_SIZE`."""
TXLEN_SEQUENCE_NUMBER_10 = 2
r"""Specifies that the payload can have maximum 8 blocks and only bits 0 to 7 of
:py:attr:`~nirfmxbluetoothgen.attributes.AttributeID.TXBLOCK_MAP` are explicit; bits 8 to 15 are always zero."""
TXLEN_SEQUENCE_NUMBER_11 = 3
r"""Specifies that the payload can have maximum 16 blocks."""
[docs]
class SoundingSequenceMarkerSignals(Enum):
"""SoundingSequenceMarkerSignals."""
SOUNDING_SEQUENCE_MARKER_SIGNALS_1100 = 0
r"""Specifies that the sounding sequence marker signal inserted in the sounding sequence is 1100"""
SOUNDING_SEQUENCE_MARKER_SIGNALS_0011 = 1
r"""Specifies that the sounding sequence marker signal inserted in the sounding sequence is 0011"""
[docs]
class DirectionFindingMode(Enum):
"""DirectionFindingMode."""
DISABLED = 0
r"""Specifies that the LE uncoded packets does not have CTE field."""
ANGLE_OF_ARRIVAL = 1
r"""Specifies that the LE uncoded packets have AoA CTE field."""
ANGLE_OF_DEPARTURE = 2
r"""Specifies that the LE uncoded packets have AoD CTE field."""
[docs]
class DirtyTxModulationIndexType(Enum):
"""DirtyTxModulationIndexType."""
STANDARD = 0
r"""Specifies that the modulation index type is standard."""
STABLE = 1
r"""Specifies that the modulation index type is stable."""
[docs]
class PacketBitSequenceTraceEnabled(Enum):
"""PacketBitSequenceTraceEnabled."""
FALSE = 0
r""""""
TRUE = 1
r""""""
[docs]
class WhiteningEnabled(Enum):
"""WhiteningEnabled."""
FALSE = 0
r"""Disables whitening."""
TRUE = 1
r"""Enables whitening."""
[docs]
class CompatibilityVersion(Enum):
"""CompatibilityVersion."""
Version010000 = 10000
r"""Indicates that the toolkit compatibility version parameter of the niBTG Open Session VI is set to 1.0.0."""
Version020000 = 20000
r"""Indicates that the toolkit compatibility version parameter of the niBTG Open Session VI is set to 2.0.0."""
[docs]
class DataRate(Enum):
"""DataRate."""
DATA_RATE_2M = 2000000
r"""Indicates that the data rate parameter is set to 2000000."""
DATA_RATE_3M = 3000000
r"""Indicates that the data rate parameter is set to 3000000."""
DATA_RATE_4M = 4000000
r"""Indicates that the data rate parameter is set to 4000000."""
DATA_RATE_6M = 6000000
r"""Indicates that the data rate parameter is set to 6000000."""
DATA_RATE_7_5M = 7500000
r"""Indicates that the data rate parameter is set to 7500000."""
[docs]
class FileOperationMode(Enum):
"""FileOperationMode."""
OPEN = 0
r"""Opens an existing file."""
OPEN_OR_CREATE = 1
r"""Opens an existing file or creates a new file if one does not exist."""
CREATE_OR_REPLACE = 2
r"""Creates a new file or replaces the contents of an existing file."""
CREATE = 3
r"""Creates a new file. Returns an error if the file already exists."""