This class mimics the TXVECTOR which is to be passed to the PHY in order to define the parameters which are to be used for a transmission. More...
#include "wifi-tx-vector.h"
Public Member Functions | |
WifiTxVector () | |
WifiTxVector (WifiMode mode, uint8_t powerLevel, uint8_t retries, WifiPreamble preamble, uint16_t guardInterval, uint8_t nTx, uint8_t nss, uint8_t ness, uint8_t channelWidth, bool aggregation, bool stbc) | |
Create a TXVECTOR with the given parameters. More... | |
uint8_t | GetChannelWidth (void) const |
uint16_t | GetGuardInterval (void) const |
WifiMode | GetMode (void) const |
uint8_t | GetNess (void) const |
uint8_t | GetNss (void) const |
uint8_t | GetNTx (void) const |
WifiPreamble | GetPreambleType (void) const |
uint8_t | GetRetries (void) const |
uint8_t | GetTxPowerLevel (void) const |
bool | IsAggregation (void) const |
Checks whether the PSDU contains A-MPDU. More... | |
bool | IsStbc (void) const |
Check if STBC is used or not. More... | |
void | SetAggregation (bool aggregation) |
Sets if PSDU contains A-MPDU. More... | |
void | SetChannelWidth (uint8_t channelWidth) |
Sets the selected channelWidth (in MHz) More... | |
void | SetGuardInterval (uint16_t guardInterval) |
Sets the guard interval duration (in nanoseconds) More... | |
void | SetMode (WifiMode mode) |
Sets the selected payload transmission mode. More... | |
void | SetNess (uint8_t ness) |
Sets the Ness number refer to IEEE 802.11n Table 20-6 for explanation. More... | |
void | SetNss (uint8_t nss) |
Sets the number of Nss refer to IEEE 802.11n Table 20-28 for explanation and range. More... | |
void | SetNTx (uint8_t nTx) |
Sets the number of TX antennas. More... | |
void | SetPreambleType (WifiPreamble preamble) |
Sets the preamble type. More... | |
void | SetRetries (uint8_t retries) |
Sets the number of retries. More... | |
void | SetStbc (bool stbc) |
Sets if STBC is being used. More... | |
void | SetTxPowerLevel (uint8_t powerlevel) |
Sets the selected transmission power level. More... | |
Private Attributes | |
bool | m_aggregation |
Flag whether the PSDU contains A-MPDU. More... | |
uint8_t | m_channelWidth |
channel width in MHz More... | |
uint16_t | m_guardInterval |
guard interval duration in nanoseconds More... | |
WifiMode | m_mode |
The DATARATE parameter in Table 15-4. More... | |
bool | m_modeInitialized |
Internal initialization flag. More... | |
uint8_t | m_ness |
number of spatial streams in beamforming More... | |
uint8_t | m_nss |
number of spatial streams More... | |
uint8_t | m_nTx |
number of TX antennas More... | |
WifiPreamble | m_preamble |
preamble More... | |
uint8_t | m_retries |
The DATA_RETRIES/RTS_RETRIES parameter for Click radiotap information. More... | |
bool | m_stbc |
STBC used or not. More... | |
uint8_t | m_txPowerLevel |
The TXPWR_LEVEL parameter in Table 15-4. More... | |
bool | m_txPowerLevelInitialized |
Internal initialization flag. More... | |
This class mimics the TXVECTOR which is to be passed to the PHY in order to define the parameters which are to be used for a transmission.
See IEEE 802.11-2007 15.2.6 "Transmit PLCP", and also 15.4.4.2 "PMD_SAP peer-to-peer service primitive parameters".
If this class is constructed with the constructor that takes no arguments, then the client must explicitly set the mode and transmit power level parameters before using them. Default member initializers are provided for the other parameters, to conform to a non-MIMO/long guard configuration, although these may also be explicitly set after object construction.
When used in a infrastructure context, WifiTxVector values should be drawn from WifiRemoteStationManager parameters since rate adaptation is responsible for picking the mode, number of streams, etc., but in the case in which there is no such manager (e.g. mesh), the client still needs to initialize at least the mode and transmit power level appropriately.
Definition at line 61 of file wifi-tx-vector.h.
ns3::WifiTxVector::WifiTxVector | ( | ) |
Definition at line 26 of file wifi-tx-vector.cc.
ns3::WifiTxVector::WifiTxVector | ( | WifiMode | mode, |
uint8_t | powerLevel, | ||
uint8_t | retries, | ||
WifiPreamble | preamble, | ||
uint16_t | guardInterval, | ||
uint8_t | nTx, | ||
uint8_t | nss, | ||
uint8_t | ness, | ||
uint8_t | channelWidth, | ||
bool | aggregation, | ||
bool | stbc | ||
) |
Create a TXVECTOR with the given parameters.
mode | WifiMode |
powerLevel | transmission power level |
retries | retries |
preamble | preamble type |
guardInterval | the guard interval duration in nanoseconds |
nTx | the number of TX antennas |
nss | the number of spatial STBC streams (NSS) |
ness | the number of extension spatial streams (NESS) |
channelWidth | the channel width in MHz |
aggregation | enable or disable MPDU aggregation |
stbc | enable or disable STBC |
Definition at line 41 of file wifi-tx-vector.cc.
uint8_t ns3::WifiTxVector::GetChannelWidth | ( | void | ) | const |
Definition at line 101 of file wifi-tx-vector.cc.
References m_channelWidth.
Referenced by ns3::InterferenceHelper::CalculatePlcpHeaderPer(), ns3::InterferenceHelper::CalculatePlcpPayloadPer(), ns3::IdealWifiManager::DoGetDataTxVector(), ns3::YansErrorRateModel::GetChunkSuccessRate(), ns3::WifiMode::GetDataRate(), ns3::WaveMacLow::GetDataTxVector(), ns3::WifiPhy::GetPayloadDuration(), ns3::WifiMode::GetPhyRate(), ns3::WifiPhy::GetPlcpHeaderDuration(), ns3::WifiPhy::GetPlcpHeaderMode(), ns3::WifiPhy::GetPlcpPreambleDuration(), ns3::IdealWifiManager::GetSnrThreshold(), ns3::WifiPhy::IsValidTxVector(), ns3::operator<<(), ns3::WifiPhyHelper::PcapSniffRxEvent(), ns3::WifiPhyHelper::PcapSniffTxEvent(), PowerRateAdaptationTest::TestAparf(), PowerRateAdaptationTest::TestParf(), and PowerRateAdaptationTest::TestRrpaa().
uint16_t ns3::WifiTxVector::GetGuardInterval | ( | void | ) | const |
Definition at line 107 of file wifi-tx-vector.cc.
References m_guardInterval.
Referenced by ns3::IdealWifiManager::DoGetDataTxVector(), ns3::WifiMode::GetDataRate(), ns3::WifiPhy::GetPayloadDuration(), ns3::WifiMode::GetPhyRate(), ns3::IdealWifiManager::GetSnrThreshold(), ns3::operator<<(), ns3::WifiPhyHelper::PcapSniffRxEvent(), ns3::WifiPhyHelper::PcapSniffTxEvent(), and PowerRateAdaptationTest::TestRrpaa().
WifiMode ns3::WifiTxVector::GetMode | ( | void | ) | const |
Definition at line 69 of file wifi-tx-vector.cc.
References m_mode, m_modeInitialized, and NS_FATAL_ERROR.
Referenced by ns3::IdealWifiManager::AddSnrThreshold(), ns3::MacLow::AggregateToAmpdu(), ns3::InterferenceHelper::CalculateChunkSuccessRate(), ns3::ErrorRateModel::CalculateSnr(), ns3::MinstrelHtWifiManager::DoGetDataTxVector(), ns3::MacLow::ForwardDown(), ns3::MacLow::GetAckDuration(), ns3::NistErrorRateModel::GetChunkSuccessRate(), ns3::YansErrorRateModel::GetChunkSuccessRate(), ns3::MacLow::GetCtsDuration(), ns3::WaveMacLow::GetDataTxVector(), ns3::WifiPhy::GetPayloadDuration(), ns3::WifiPhy::GetPlcpHeaderDuration(), ns3::WifiPhy::GetPlcpHeaderMode(), ns3::WifiPhy::GetPlcpPreambleDuration(), ns3::IdealWifiManager::GetSnrThreshold(), ns3::WifiPhy::IsValidTxVector(), ns3::WifiRemoteStationManager::NeedCtsToSelf(), ns3::WifiRemoteStationManager::NeedRts(), ns3::operator<<(), ns3::WifiPhyHelper::PcapSniffRxEvent(), ns3::WifiPhyHelper::PcapSniffTxEvent(), ns3::MacLow::ReceiveOk(), ns3::MacLow::SendBlockAckAfterAmpdu(), ns3::MacLow::SendCtsAfterRts(), ns3::MacLow::SendCtsToSelf(), ns3::MacLow::SendDataAfterCts(), ns3::MacLow::SendDataPacket(), ns3::WifiPhy::SendPacket(), ns3::MacLow::SendRtsForPacket(), ns3::WifiPhy::StartReceivePacket(), ns3::WifiPhy::StartReceivePreambleAndHeader(), ns3::SpectrumWifiPhy::StartTx(), ns3::WifiPhyStateHelper::SwitchFromRxEndOk(), ns3::WifiPhyStateHelper::SwitchToTx(), PowerRateAdaptationTest::TestAparf(), PowerRateAdaptationTest::TestParf(), and PowerRateAdaptationTest::TestRrpaa().
uint8_t ns3::WifiTxVector::GetNess | ( | void | ) | const |
Definition at line 125 of file wifi-tx-vector.cc.
References m_ness.
Referenced by ns3::WifiPhy::GetPlcpTrainingSymbolDuration(), ns3::operator<<(), ns3::WifiPhyHelper::PcapSniffRxEvent(), and ns3::WifiPhyHelper::PcapSniffTxEvent().
uint8_t ns3::WifiTxVector::GetNss | ( | void | ) | const |
Definition at line 119 of file wifi-tx-vector.cc.
References m_nss.
Referenced by ns3::InterferenceHelper::CalculateChunkSuccessRate(), ns3::IdealWifiManager::DoGetDataTxVector(), ns3::WifiMode::GetDataRate(), ns3::WifiPhy::GetPayloadDuration(), ns3::WifiMode::GetPhyRate(), ns3::WifiPhy::GetPlcpTrainingSymbolDuration(), ns3::IdealWifiManager::GetSnrThreshold(), ns3::WifiPhy::IsValidTxVector(), ns3::operator<<(), ns3::WifiPhyHelper::PcapSniffRxEvent(), ns3::WifiPhyHelper::PcapSniffTxEvent(), ns3::WifiPhy::SendPacket(), and ns3::WifiPhy::StartReceivePreambleAndHeader().
uint8_t ns3::WifiTxVector::GetNTx | ( | void | ) | const |
Definition at line 113 of file wifi-tx-vector.cc.
References m_nTx.
Referenced by ns3::InterferenceHelper::CalculateChunkSuccessRate(), and ns3::operator<<().
WifiPreamble ns3::WifiTxVector::GetPreambleType | ( | void | ) | const |
Definition at line 95 of file wifi-tx-vector.cc.
References m_preamble.
Referenced by ns3::InterferenceHelper::CalculatePlcpHeaderPer(), ns3::InterferenceHelper::CalculatePlcpPayloadPer(), ns3::WifiPhy::CalculatePlcpPreambleAndHeaderDuration(), ns3::MacLow::DeaggregateAmpduAndReceive(), ns3::MacLow::ForwardDown(), ns3::WaveMacLow::GetDataTxVector(), ns3::WifiPhy::GetPayloadDuration(), ns3::WifiPhy::GetPlcpHeaderDuration(), ns3::WifiPhy::GetPlcpHeaderMode(), ns3::WifiPhy::GetPlcpPreambleDuration(), ns3::WifiPhy::GetPlcpTrainingSymbolDuration(), ns3::operator<<(), ns3::WifiPhyHelper::PcapSniffRxEvent(), ns3::WifiPhyHelper::PcapSniffTxEvent(), ns3::MacLow::ReceiveOk(), ns3::WifiPhy::SendPacket(), ns3::WifiPhy::StartReceivePacket(), ns3::WifiPhy::StartRx(), ns3::WifiPhyStateHelper::SwitchFromRxEndOk(), and ns3::WifiPhyStateHelper::SwitchToTx().
uint8_t ns3::WifiTxVector::GetRetries | ( | void | ) | const |
Definition at line 89 of file wifi-tx-vector.cc.
References m_retries.
Referenced by ns3::operator<<().
uint8_t ns3::WifiTxVector::GetTxPowerLevel | ( | void | ) | const |
Definition at line 79 of file wifi-tx-vector.cc.
References m_txPowerLevel, m_txPowerLevelInitialized, and NS_FATAL_ERROR.
Referenced by ns3::WaveMacLow::GetDataTxVector(), ns3::operator<<(), ns3::WifiPhy::SendPacket(), ns3::YansWifiPhy::StartTx(), ns3::SpectrumWifiPhy::StartTx(), ns3::WifiPhyStateHelper::SwitchToTx(), PowerRateAdaptationTest::TestAparf(), PowerRateAdaptationTest::TestParf(), and PowerRateAdaptationTest::TestRrpaa().
bool ns3::WifiTxVector::IsAggregation | ( | void | ) | const |
Checks whether the PSDU contains A-MPDU.
Definition at line 131 of file wifi-tx-vector.cc.
References m_aggregation.
Referenced by ns3::operator<<(), ns3::WifiPhyHelper::PcapSniffRxEvent(), and ns3::WifiPhyHelper::PcapSniffTxEvent().
bool ns3::WifiTxVector::IsStbc | ( | void | ) | const |
Check if STBC is used or not.
Definition at line 137 of file wifi-tx-vector.cc.
References m_stbc.
Referenced by ns3::WifiPhy::GetPayloadDuration(), ns3::operator<<(), ns3::WifiPhyHelper::PcapSniffRxEvent(), and ns3::WifiPhyHelper::PcapSniffTxEvent().
void ns3::WifiTxVector::SetAggregation | ( | bool | aggregation | ) |
Sets if PSDU contains A-MPDU.
aggregation | whether the PSDU contains A-MPDU or not. |
Definition at line 199 of file wifi-tx-vector.cc.
References m_aggregation.
Referenced by ns3::MacLow::ForwardDown().
void ns3::WifiTxVector::SetChannelWidth | ( | uint8_t | channelWidth | ) |
Sets the selected channelWidth (in MHz)
channelWidth |
Definition at line 169 of file wifi-tx-vector.cc.
References m_channelWidth.
Referenced by ns3::MinstrelHtWifiManager::CalculateFirstMpduTxDuration(), ns3::MinstrelHtWifiManager::CalculateMpduTxDuration(), TxDurationTest::CheckPayloadDuration(), TxDurationTest::CheckTxDuration(), ns3::IdealWifiManager::DoGetDataTxVector(), ns3::IdealWifiManager::DoGetRtsTxVector(), ns3::IdealWifiManager::DoInitialize(), ns3::VsaManager::DoSendVsa(), ns3::WifiRemoteStationManager::GetAckTxVector(), ns3::WifiRemoteStationManager::GetBlockAckTxVector(), ns3::WifiRemoteStationManager::GetCtsTxVector(), ns3::WaveMacLow::GetDataTxVector(), ns3::WifiRemoteStationManager::GetDataTxVector(), ns3::MinstrelHtWifiManager::IsValidMcs(), ns3::WaveNetDevice::SendX(), and NodeStatistics::SetupPhy().
void ns3::WifiTxVector::SetGuardInterval | ( | uint16_t | guardInterval | ) |
Sets the guard interval duration (in nanoseconds)
guardInterval | the guard interval duration (in nanoseconds) |
Definition at line 175 of file wifi-tx-vector.cc.
References m_guardInterval.
Referenced by ns3::MinstrelHtWifiManager::CalculateFirstMpduTxDuration(), ns3::MinstrelHtWifiManager::CalculateMpduTxDuration(), TxDurationTest::CheckPayloadDuration(), TxDurationTest::CheckTxDuration(), ns3::IdealWifiManager::DoGetDataTxVector(), ns3::IdealWifiManager::DoInitialize(), ns3::WifiRemoteStationManager::GetAckTxVector(), ns3::WifiRemoteStationManager::GetBlockAckTxVector(), ns3::WifiRemoteStationManager::GetCtsTxVector(), and ns3::WifiRemoteStationManager::GetDataTxVector().
void ns3::WifiTxVector::SetMode | ( | WifiMode | mode | ) |
Sets the selected payload transmission mode.
mode |
Definition at line 143 of file wifi-tx-vector.cc.
References m_mode, and m_modeInitialized.
Referenced by ns3::MinstrelHtWifiManager::CalculateFirstMpduTxDuration(), ns3::dot11s::AirtimeLinkMetricCalculator::CalculateMetric(), ns3::MinstrelHtWifiManager::CalculateMpduTxDuration(), TxDurationTest::CheckPayloadDuration(), TxDurationTest::CheckTxDuration(), ns3::IdealWifiManager::DoGetDataTxVector(), ns3::IdealWifiManager::DoGetRtsTxVector(), ns3::IdealWifiManager::DoInitialize(), ns3::VsaManager::DoSendVsa(), ns3::WifiRemoteStationManager::GetAckTxVector(), ns3::WifiRemoteStationManager::GetBlockAckTxVector(), ns3::WifiRemoteStationManager::GetCtsTxVector(), ns3::WaveMacLow::GetDataTxVector(), ns3::WifiRemoteStationManager::GetDataTxVector(), ns3::MinstrelHtWifiManager::IsValidMcs(), PsrExperiment::Send(), ns3::WaveNetDevice::Send(), CollisionExperiment::SendA(), CollisionExperiment::SendB(), ns3::WaveNetDevice::SendX(), ns3::RraaWifiManager::SetupPhy(), ns3::RrpaaWifiManager::SetupPhy(), NodeStatistics::SetupPhy(), and ns3::MinstrelWifiManager::SetupPhy().
void ns3::WifiTxVector::SetNess | ( | uint8_t | ness | ) |
Sets the Ness number refer to IEEE 802.11n Table 20-6 for explanation.
ness |
Definition at line 193 of file wifi-tx-vector.cc.
References m_ness.
Referenced by ns3::MinstrelHtWifiManager::CalculateFirstMpduTxDuration(), ns3::MinstrelHtWifiManager::CalculateMpduTxDuration(), TxDurationTest::CheckPayloadDuration(), TxDurationTest::CheckTxDuration(), ns3::WifiRemoteStationManager::GetAckTxVector(), ns3::WifiRemoteStationManager::GetBlockAckTxVector(), ns3::WifiRemoteStationManager::GetCtsTxVector(), and ns3::WifiRemoteStationManager::GetDataTxVector().
void ns3::WifiTxVector::SetNss | ( | uint8_t | nss | ) |
Sets the number of Nss refer to IEEE 802.11n Table 20-28 for explanation and range.
nss |
Definition at line 187 of file wifi-tx-vector.cc.
References m_nss.
Referenced by ns3::MinstrelHtWifiManager::CalculateFirstMpduTxDuration(), ns3::MinstrelHtWifiManager::CalculateMpduTxDuration(), TxDurationTest::CheckPayloadDuration(), TxDurationTest::CheckTxDuration(), ns3::IdealWifiManager::DoGetDataTxVector(), ns3::IdealWifiManager::DoGetRtsTxVector(), ns3::IdealWifiManager::DoInitialize(), ns3::WifiRemoteStationManager::GetAckTxVector(), ns3::WifiRemoteStationManager::GetBlockAckTxVector(), ns3::WifiRemoteStationManager::GetCtsTxVector(), ns3::WifiRemoteStationManager::GetDataTxVector(), and ns3::MinstrelHtWifiManager::IsValidMcs().
void ns3::WifiTxVector::SetNTx | ( | uint8_t | nTx | ) |
Sets the number of TX antennas.
nTx |
Definition at line 181 of file wifi-tx-vector.cc.
References m_nTx.
void ns3::WifiTxVector::SetPreambleType | ( | WifiPreamble | preamble | ) |
Sets the preamble type.
preamble |
Definition at line 163 of file wifi-tx-vector.cc.
References m_preamble.
Referenced by ns3::MinstrelHtWifiManager::CalculateFirstMpduTxDuration(), ns3::dot11s::AirtimeLinkMetricCalculator::CalculateMetric(), ns3::MinstrelHtWifiManager::CalculateMpduTxDuration(), TxDurationTest::CheckPayloadDuration(), TxDurationTest::CheckTxDuration(), ns3::VsaManager::DoSendVsa(), ns3::MacLow::ForwardDown(), ns3::WifiRemoteStationManager::GetAckTxVector(), ns3::WifiRemoteStationManager::GetBlockAckTxVector(), ns3::WifiRemoteStationManager::GetCtsTxVector(), ns3::WaveMacLow::GetDataTxVector(), ns3::WifiRemoteStationManager::GetDataTxVector(), PsrExperiment::Send(), ns3::WaveNetDevice::Send(), CollisionExperiment::SendA(), CollisionExperiment::SendB(), ns3::WaveNetDevice::SendX(), ns3::RraaWifiManager::SetupPhy(), ns3::RrpaaWifiManager::SetupPhy(), NodeStatistics::SetupPhy(), and ns3::MinstrelWifiManager::SetupPhy().
void ns3::WifiTxVector::SetRetries | ( | uint8_t | retries | ) |
Sets the number of retries.
retries |
Definition at line 157 of file wifi-tx-vector.cc.
References m_retries.
void ns3::WifiTxVector::SetStbc | ( | bool | stbc | ) |
Sets if STBC is being used.
stbc | enable or disable STBC |
Definition at line 205 of file wifi-tx-vector.cc.
References m_stbc.
Referenced by ns3::MinstrelHtWifiManager::CalculateFirstMpduTxDuration(), ns3::MinstrelHtWifiManager::CalculateMpduTxDuration(), TxDurationTest::CheckPayloadDuration(), TxDurationTest::CheckTxDuration(), ns3::WifiRemoteStationManager::GetAckTxVector(), ns3::WifiRemoteStationManager::GetBlockAckTxVector(), ns3::WifiRemoteStationManager::GetCtsTxVector(), and ns3::WifiRemoteStationManager::GetDataTxVector().
void ns3::WifiTxVector::SetTxPowerLevel | ( | uint8_t | powerlevel | ) |
Sets the selected transmission power level.
powerlevel |
Definition at line 150 of file wifi-tx-vector.cc.
References m_txPowerLevel, and m_txPowerLevelInitialized.
Referenced by ns3::VsaManager::DoSendVsa(), ns3::WifiRemoteStationManager::GetAckTxVector(), ns3::WifiRemoteStationManager::GetBlockAckTxVector(), ns3::WifiRemoteStationManager::GetCtsTxVector(), ns3::WaveMacLow::GetDataTxVector(), ns3::WifiRemoteStationManager::GetDataTxVector(), PsrExperiment::Send(), ns3::WaveNetDevice::Send(), InterferenceExperiment::SendA(), CollisionExperiment::SendA(), InterferenceExperiment::SendB(), CollisionExperiment::SendB(), and ns3::WaveNetDevice::SendX().
|
private |
Flag whether the PSDU contains A-MPDU.
Definition at line 223 of file wifi-tx-vector.h.
Referenced by IsAggregation(), and SetAggregation().
|
private |
channel width in MHz
Definition at line 218 of file wifi-tx-vector.h.
Referenced by GetChannelWidth(), and SetChannelWidth().
|
private |
guard interval duration in nanoseconds
Definition at line 219 of file wifi-tx-vector.h.
Referenced by GetGuardInterval(), and SetGuardInterval().
|
private |
The DATARATE parameter in Table 15-4.
It is the value that will be passed to PMD_RATE.request
Definition at line 209 of file wifi-tx-vector.h.
|
private |
Internal initialization flag.
Definition at line 226 of file wifi-tx-vector.h.
|
private |
number of spatial streams in beamforming
Definition at line 222 of file wifi-tx-vector.h.
|
private |
number of spatial streams
Definition at line 221 of file wifi-tx-vector.h.
|
private |
number of TX antennas
Definition at line 220 of file wifi-tx-vector.h.
|
private |
preamble
Definition at line 217 of file wifi-tx-vector.h.
Referenced by GetPreambleType(), and SetPreambleType().
|
private |
The DATA_RETRIES/RTS_RETRIES parameter for Click radiotap information.
Definition at line 215 of file wifi-tx-vector.h.
Referenced by GetRetries(), and SetRetries().
|
private |
STBC used or not.
Definition at line 224 of file wifi-tx-vector.h.
|
private |
The TXPWR_LEVEL parameter in Table 15-4.
It is the value that will be passed to PMD_TXPWRLVL.request
Definition at line 212 of file wifi-tx-vector.h.
Referenced by GetTxPowerLevel(), and SetTxPowerLevel().
|
private |
Internal initialization flag.
Definition at line 227 of file wifi-tx-vector.h.
Referenced by GetTxPowerLevel(), and SetTxPowerLevel().