A Discrete-Event Network Simulator
API
LR-WPAN models

This section documents the API of the IEEE 802.15.4-related models. More...

+ Collaboration diagram for LR-WPAN models:

Modules

 LrWpan module tests
 
 LrWpanConstants
 Contains common parameters about LR-WPAN that can be reused in multiple files.
 

Classes

class  ns3::BeaconPayloadHeader
 Implements the header for the MAC payload beacon frame according to the IEEE 802.15.4-2011 Std. More...
 
class  ns3::CapabilityField
 Represent the Capability Information Field. More...
 
class  ns3::CommandPayloadHeader
 Implements the header for the MAC payload command frame according to the IEEE 802.15.4-2011 Std. More...
 
class  ns3::GtsFields
 Represent the GTS information fields. More...
 
class  ns3::LrWpanCsmaCa
 This class is a helper for the LrWpanMac to manage the Csma/CA state machine according to IEEE 802.15.4-2006, section 7.5.1.4. More...
 
struct  ns3::LrWpanEdPower
 Helper structure to manage the power measurement during ED. More...
 
class  ns3::LrWpanErrorModel
 Model the error rate for IEEE 802.15.4 2.4 GHz AWGN channel for OQPSK the model description can be found in IEEE Std 802.15.4-2006, section E.4.1.7. More...
 
class  ns3::LrWpanHelper
 helps to manage and create IEEE 802.15.4 NetDevice objects More...
 
class  ns3::LrWpanInterferenceHelper
 This class provides helper functions for LrWpan interference handling. More...
 
class  ns3::LrWpanLqiTag
 Represent the LQI (Link Quality Estination). More...
 
class  ns3::LrWpanMac
 Class that implements the LR-WPAN MAC state machine. More...
 
class  ns3::LrWpanMacHeader
 Represent the Mac Header with the Frame Control and Sequence Number fields. More...
 
struct  ns3::LrWpanMacPibAttributes
 IEEE802.15.4-2011 PHY PIB Attributes Table 52 in section 6.4.2. More...
 
class  ns3::LrWpanMacTrailer
 Represent the Mac Trailer with the Frame Check Sequence field. More...
 
class  ns3::LrWpanNetDevice
 Network layer to device interface. More...
 
class  ns3::LrWpanPhy
 Make LrWpanPhy a SpectrumPhy so we can enable the eventual modeling of device interference. More...
 
struct  ns3::LrWpanPhyDataAndSymbolRates
 This data structure provides the Bit rate and Symbol rate for a given channel See IEEE802.15.4-2006 Table 1 and 2 in section 6.1.1 and 6.1.2. More...
 
struct  ns3::LrWpanPhyPibAttributes
 IEEE802.15.4-2006 PHY PIB Attributes Table 23 in section 6.4.2. More...
 
struct  ns3::LrWpanPhyPpduHeaderSymbolNumber
 This data structure provides number of symbols for the PPDU headers: SHR and PHR See IEEE802.15.4-2006 Figure 16, Table 19 and 20 in section 6.3. More...
 
class  ns3::LrWpanSpectrumModelInitializer
 Helper class used to automatically initialize the LrWpan Spectrum Model objects. More...
 
struct  ns3::LrWpanSpectrumSignalParameters
 Signal parameters for LrWpan. More...
 
class  ns3::LrWpanSpectrumValueHelper
 This class defines all functions to create spectrum model for LrWpan. More...
 
struct  ns3::McpsDataConfirmParams
 MCPS-DATA.confirm params. More...
 
struct  ns3::McpsDataIndicationParams
 MCPS-DATA.indication params. More...
 
struct  ns3::McpsDataRequestParams
 MCPS-DATA.request params. More...
 
struct  ns3::MlmeAssociateConfirmParams
 MLME-ASSOCIATE.confirm params. More...
 
struct  ns3::MlmeAssociateIndicationParams
 MLME-ASSOCIATE.indication params. More...
 
struct  ns3::MlmeAssociateRequestParams
 MLME-ASSOCIATE.request params. More...
 
struct  ns3::MlmeAssociateResponseParams
 MLME-ASSOCIATE.response params. More...
 
struct  ns3::MlmeBeaconNotifyIndicationParams
 MLME-BEACON-NOTIFY.indication params. More...
 
struct  ns3::MlmeCommStatusIndicationParams
 MLME-COMM-STATUS.indication params. More...
 
struct  ns3::MlmeOrphanIndicationParams
 MLME-ORPHAN.indication params. More...
 
struct  ns3::MlmeOrphanResponseParams
 MLME-ORPHAN.response params. More...
 
struct  ns3::MlmePollConfirmParams
 MLME-START.confirm params. More...
 
struct  ns3::MlmePollRequestParams
 MLME-POLL.request params. More...
 
struct  ns3::MlmeScanConfirmParams
 MLME-SCAN.confirm params. More...
 
struct  ns3::MlmeScanRequestParams
 MLME-SCAN.request params. More...
 
struct  ns3::MlmeSetConfirmParams
 MLME-SET.confirm params. More...
 
struct  ns3::MlmeStartConfirmParams
 MLME-START.confirm params. More...
 
struct  ns3::MlmeStartRequestParams
 MLME-START.request params. More...
 
struct  ns3::MlmeSyncLossIndicationParams
 MLME-SYNC-LOSS.indication params. More...
 
struct  ns3::MlmeSyncRequestParams
 MLME-SYNC.request params. More...
 
struct  ns3::PanDescriptor
 PAN Descriptor, Table 17 IEEE 802.15.4-2011. More...
 
class  ns3::PendingAddrFields
 Represent the Pending Address Specification field. More...
 
class  ns3::SuperframeField
 Represent the Superframe Specification information field. More...
 

Typedefs

typedef void(* ns3::TracedValueCallback::LrWpanMacState) (LrWpanMacState oldValue, LrWpanMacState newValue)
 TracedValue callback signature for LrWpanMacState. More...
 
typedef Callback< void, LrWpanMacStatens3::LrWpanMacStateCallback
 This method informs the MAC whether the channel is idle or busy. More...
 
typedef Callback< void, uint32_t > ns3::LrWpanMacTransCostCallback
 This method informs the transaction cost in a slotted CSMA-CA data transmission. More...
 
typedef void(* ns3::TracedValueCallback::LrWpanPhyEnumeration) (LrWpanPhyEnumeration oldValue, LrWpanPhyEnumeration newValue)
 TracedValue callback signature for LrWpanPhyEnumeration. More...
 
using ns3::McpsDataConfirmCallback = Callback< void, McpsDataConfirmParams >
 This callback is called after a McpsDataRequest has been called from the higher layer. More...
 
using ns3::McpsDataIndicationCallback = Callback< void, McpsDataIndicationParams, Ptr< Packet > >
 This callback is called after a Mcps has successfully received a frame and wants to deliver it to the higher layer. More...
 
using ns3::MlmeAssociateConfirmCallback = Callback< void, MlmeAssociateConfirmParams >
 This callback is called after a MlmeAssociateRequest has been called from the higher layer. More...
 
using ns3::MlmeAssociateIndicationCallback = Callback< void, MlmeAssociateIndicationParams >
 This callback is called after a Mlme has successfully received a command frame and wants to deliver it to the higher layer. More...
 
using ns3::MlmeBeaconNotifyIndicationCallback = Callback< void, MlmeBeaconNotifyIndicationParams >
 This callback is called after a Mlme has successfully received a beacon frame and wants to deliver it to the higher layer. More...
 
using ns3::MlmeCommStatusIndicationCallback = Callback< void, MlmeCommStatusIndicationParams >
 This callback is called by the MLME and issued to its next higher layer following a transmission instigated through a response primitive. More...
 
using ns3::MlmeGetConfirmCallback = Callback< void, LrWpanMacStatus, LrWpanMacPibAttributeIdentifier, Ptr< LrWpanMacPibAttributes > >
 This callback is called after a MlmeGetRequest has been called from the higher layer to get a PIB. More...
 
using ns3::MlmeOrphanIndicationCallback = Callback< void, MlmeOrphanIndicationParams >
 This callback is called by the MLME and issued to its next higher layer following the reception of a orphan notification. More...
 
using ns3::MlmePollConfirmCallback = Callback< void, MlmePollConfirmParams >
 This callback is called after a Mlme-Poll.Request has been called from the higher layer. More...
 
using ns3::MlmeScanConfirmCallback = Callback< void, MlmeScanConfirmParams >
 This callback is called after a MlmeScanRequest has been called from the higher layer. More...
 
using ns3::MlmeSetConfirmCallback = Callback< void, MlmeSetConfirmParams >
 This callback is called after a MlmeSetRequest has been called from the higher layer to set a PIB. More...
 
using ns3::MlmeStartConfirmCallback = Callback< void, MlmeStartConfirmParams >
 This callback is called after a MlmeStartRequest has been called from the higher layer. More...
 
using ns3::MlmeSyncLossIndicationCallback = Callback< void, MlmeSyncLossIndicationParams >
 This callback is called to indicate the loss of synchronization with a coordinator. More...
 
typedef Callback< void, LrWpanPhyEnumerationns3::PdDataConfirmCallback
 This method implements the PD SAP: PdDataConfirm. More...
 
typedef Callback< void, uint32_t, Ptr< Packet >, uint8_t > ns3::PdDataIndicationCallback
 This method implements the PD SAP: PdDataIndication. More...
 
typedef Callback< void, LrWpanPhyEnumerationns3::PlmeCcaConfirmCallback
 This method implements the PD SAP: PlmeCcaConfirm. More...
 
typedef Callback< void, LrWpanPhyEnumeration, uint8_t > ns3::PlmeEdConfirmCallback
 This method implements the PD SAP: PlmeEdConfirm. More...
 
typedef Callback< void, LrWpanPhyEnumeration, LrWpanPibAttributeIdentifier, Ptr< LrWpanPhyPibAttributes > > ns3::PlmeGetAttributeConfirmCallback
 This method implements the PD SAP: PlmeGetAttributeConfirm. More...
 
typedef Callback< void, LrWpanPhyEnumeration, LrWpanPibAttributeIdentifierns3::PlmeSetAttributeConfirmCallback
 This method implements the PD SAP: PlmeSetAttributeConfirm. More...
 
typedef Callback< void, LrWpanPhyEnumerationns3::PlmeSetTRXStateConfirmCallback
 This method implements the PD SAP: PlmeSetTRXStateConfirm. More...
 
typedef void(* ns3::TracedValueCallback::SuperframeStatus) (SuperframeStatus oldValue, SuperframeStatus newValue)
 TracedValue callback signature for SuperframeStatus. More...
 

Enumerations

enum  ns3::DeviceType { ns3::RFD = 0 , ns3::FFD = 1 }
 The device Capabilities. More...
 
enum  ns3::LrWpanAddressMode { ns3::NO_PANID_ADDR = 0 , ns3::ADDR_MODE_RESERVED = 1 , ns3::SHORT_ADDR = 2 , ns3::EXT_ADDR = 3 }
 table 80 of 802.15.4 More...
 
enum  ns3::LrWpanMacPibAttributeIdentifier {
  ns3::macBeaconPayload = 0 , ns3::macBeaconPayloadLength = 1 , ns3::macShortAddress = 2 , ns3::macExtendedAddress = 3 ,
  ns3::macPanId = 4 , ns3::pCurrentChannel = 100 , ns3::pCurrentPage = 101 , ns3::unsupported = 255
}
 IEEE802.15.4-2011 MAC PIB Attribute Identifiers Table 52 in section 6.4.2. More...
 
enum  ns3::LrWpanMacState {
  ns3::MAC_IDLE , ns3::MAC_CSMA , ns3::MAC_SENDING , ns3::MAC_ACK_PENDING ,
  ns3::CHANNEL_ACCESS_FAILURE , ns3::CHANNEL_ACCESS_FAILURE = 0xe1 , ns3::CHANNEL_IDLE , ns3::SET_PHY_TX_ON ,
  ns3::MAC_GTS , ns3::MAC_INACTIVE , ns3::MAC_CSMA_DEFERRED
}
 MAC states. More...
 
enum class  ns3::LrWpanMacStatus : std::uint8_t {
  ns3::SUCCESS = 0 , ns3::FULL_CAPACITY = 0x01 , ns3::ACCESS_DENIED = 0x02 , ns3::COUNTER_ERROR = 0xdb ,
  ns3::IMPROPER_KEY_TYPE = 0xdc , ns3::IMPROPER_SECURITY_LEVEL = 0xdd , ns3::UNSUPPORTED_LEGACY = 0xde , ns3::UNSUPPORTED_SECURITY = 0xdf ,
  ns3::BEACON_LOSS = 0xe0 , ns3::CHANNEL_ACCESS_FAILURE = 0xe1 , ns3::DENIED = 0xe2 , ns3::DISABLE_TRX_FAILURE = 0xe3 ,
  ns3::SECURITY_ERROR = 0xe4 , ns3::FRAME_TOO_LONG = 0xe5 , ns3::INVALID_GTS = 0xe6 , ns3::INVALID_HANDLE = 0xe7 ,
  ns3::INVALID_PARAMETER = 0xe8 , ns3::NO_ACK = 0xe9 , ns3::NO_BEACON = 0xea , ns3::NO_DATA = 0xeb ,
  ns3::NO_SHORT_ADDRESS = 0xec , ns3::OUT_OF_CAP = 0xed , ns3::PAN_ID_CONFLICT = 0xee , ns3::REALIGMENT = 0xef ,
  ns3::TRANSACTION_EXPIRED = 0xf0 , ns3::TRANSACTION_OVERFLOW = 0xf1 , ns3::TX_ACTIVE = 0xf2 , ns3::UNAVAILABLE_KEY = 0xf3 ,
  ns3::UNSUPPORTED_ATTRIBUTE = 0xf4 , ns3::INVALID_ADDRESS = 0xf5 , ns3::ON_TIME_TOO_LONG = 0xf6 , ns3::PAST_TIME = 0xf7 ,
  ns3::TRACKING_OFF = 0xf8 , ns3::INVALID_INDEX = 0xf9 , ns3::LIMIT_REACHED = 0xfa , ns3::READ_ONLY = 0xfb ,
  ns3::SCAN_IN_PROGRESS = 0xfc , ns3::SUPERFRAME_OVERLAP = 0xfd
}
 The status of a confirm or an indication primitive as a result of a previous request. More...
 
enum  ns3::LrWpanMlmeScanType { ns3::MLMESCAN_ED = 0x00 , ns3::MLMESCAN_ACTIVE = 0x01 , ns3::MLMESCAN_PASSIVE = 0x02 , ns3::MLMESCAN_ORPHAN = 0x03 }
 Table 30 of IEEE 802.15.4-2011. More...
 
enum  ns3::LrWpanPhyEnumeration {
  ns3::IEEE_802_15_4_PHY_BUSY = 0x00 , ns3::IEEE_802_15_4_PHY_BUSY_RX = 0x01 , ns3::IEEE_802_15_4_PHY_BUSY_TX = 0x02 , ns3::IEEE_802_15_4_PHY_FORCE_TRX_OFF = 0x03 ,
  ns3::IEEE_802_15_4_PHY_IDLE = 0x04 , ns3::IEEE_802_15_4_PHY_INVALID_PARAMETER = 0x05 , ns3::IEEE_802_15_4_PHY_RX_ON = 0x06 , ns3::IEEE_802_15_4_PHY_SUCCESS = 0x07 ,
  ns3::IEEE_802_15_4_PHY_TRX_OFF = 0x08 , ns3::IEEE_802_15_4_PHY_TX_ON = 0x09 , ns3::IEEE_802_15_4_PHY_UNSUPPORTED_ATTRIBUTE = 0xa , ns3::IEEE_802_15_4_PHY_READ_ONLY = 0xb ,
  ns3::IEEE_802_15_4_PHY_UNSPECIFIED = 0xc
}
 IEEE802.15.4-2006 PHY Emumerations Table 18 in section 6.2.3. More...
 
enum  ns3::LrWpanPhyOption {
  ns3::IEEE_802_15_4_868MHZ_BPSK , ns3::IEEE_802_15_4_915MHZ_BPSK , ns3::IEEE_802_15_4_950MHZ_BPSK , ns3::IEEE_802_15_4_868MHZ_ASK ,
  ns3::IEEE_802_15_4_915MHZ_ASK , ns3::IEEE_802_15_4_780MHZ_OQPSK , ns3::IEEE_802_15_4_868MHZ_OQPSK , ns3::IEEE_802_15_4_915MHZ_OQPSK ,
  ns3::IEEE_802_15_4_2_4GHZ_OQPSK , ns3::IEEE_802_15_4_INVALID_PHY_OPTION
}
 This Phy option will be used to index various Tables in IEEE802.15.4-2011. More...
 
enum  ns3::LrWpanPibAttributeIdentifier {
  ns3::phyCurrentChannel = 0x00 , ns3::phyChannelsSupported = 0x01 , ns3::phyTransmitPower = 0x02 , ns3::phyCCAMode = 0x03 ,
  ns3::phyCurrentPage = 0x04 , ns3::phyMaxFrameDuration = 0x05 , ns3::phySHRDuration = 0x06 , ns3::phySymbolsPerOctet = 0x07
}
 IEEE802.15.4-2006 PHY PIB Attribute Identifiers Table 23 in section 6.4.2. More...
 
enum  ns3::LrWpanTxOption { ns3::TX_OPTION_NONE = 0 , ns3::TX_OPTION_ACK = 1 , ns3::TX_OPTION_GTS = 2 , ns3::TX_OPTION_INDIRECT = 4 }
 Tx options. More...
 
enum  ns3::PendingPrimitiveStatus {
  ns3::MLME_NONE = 0 , ns3::MLME_START_REQ = 1 , ns3::MLME_SCAN_REQ = 2 , ns3::MLME_ASSOC_REQ = 3 ,
  ns3::MLME_SYNC_REQ = 4
}
 Indicates a pending MAC primitive. More...
 
enum  ns3::SuperframeStatus { ns3::BEACON , ns3::CAP , ns3::CFP , ns3::INACTIVE }
 Superframe status. More...
 
enum  ns3::SuperframeType { ns3::OUTGOING = 0 , ns3::INCOMING = 1 }
 Superframe type. More...
 

Variables

class ns3::LrWpanSpectrumModelInitializer ns3::g_LrWpanSpectrumModelInitializerInstance
 Global object used to initialize the LrWpan Spectrum Model. More...
 

Detailed Description

This section documents the API of the IEEE 802.15.4-related models.

For a generic functional description, please refer to the ns-3 manual.

Typedef Documentation

◆ LrWpanMacState

typedef void(* ns3::TracedValueCallback::LrWpanMacState) (LrWpanMacState oldValue, LrWpanMacState newValue)

TracedValue callback signature for LrWpanMacState.

Parameters
[in]oldValueoriginal value of the traced variable
[in]newValuenew value of the traced variable

Definition at line 142 of file lr-wpan-mac.h.

◆ LrWpanMacStateCallback

This method informs the MAC whether the channel is idle or busy.

Definition at line 41 of file lr-wpan-csmaca.h.

◆ LrWpanMacTransCostCallback

typedef Callback<void, uint32_t> ns3::LrWpanMacTransCostCallback

This method informs the transaction cost in a slotted CSMA-CA data transmission.

i.e. Reports number of symbols (time) it would take slotted CSMA-CA to process the current transaction. 1 Transaction = 2 CCA + frame transmission (PPDU) + turnaroudtime or Ack time (optional) + IFS See IEEE 802.15.4-2011 (Sections 5.1.1.1 and 5.1.1.4)

Definition at line 50 of file lr-wpan-csmaca.h.

◆ LrWpanPhyEnumeration

typedef void(* ns3::TracedValueCallback::LrWpanPhyEnumeration) (LrWpanPhyEnumeration oldValue, LrWpanPhyEnumeration newValue)

TracedValue callback signature for LrWpanPhyEnumeration.

Parameters
[in]oldValueoriginal value of the traced variable
[in]newValuenew value of the traced variable

Definition at line 154 of file lr-wpan-phy.h.

◆ McpsDataConfirmCallback

This callback is called after a McpsDataRequest has been called from the higher layer.

It returns a status of the outcome of the transmission request

Definition at line 494 of file lr-wpan-mac-base.h.

◆ McpsDataIndicationCallback

This callback is called after a Mcps has successfully received a frame and wants to deliver it to the higher layer.

Todo:
for now, we do not deliver all of the parameters in section 802.15.4-2006 7.1.1.3.1 but just send up the packet.

Definition at line 505 of file lr-wpan-mac-base.h.

◆ MlmeAssociateConfirmCallback

This callback is called after a MlmeAssociateRequest has been called from the higher layer.

It returns a status of the outcome of the association request

Definition at line 564 of file lr-wpan-mac-base.h.

◆ MlmeAssociateIndicationCallback

This callback is called after a Mlme has successfully received a command frame and wants to deliver it to the higher layer.

Security related parameters and not handle. See 802.15.4-2011 6.2.2.2.

Definition at line 516 of file lr-wpan-mac-base.h.

◆ MlmeBeaconNotifyIndicationCallback

This callback is called after a Mlme has successfully received a beacon frame and wants to deliver it to the higher layer.

Todo:
for now, we do not deliver all of the parameters in section 802.15.4-2006 6.2.4.1 but just send up the packet.

Definition at line 575 of file lr-wpan-mac-base.h.

◆ MlmeCommStatusIndicationCallback

This callback is called by the MLME and issued to its next higher layer following a transmission instigated through a response primitive.

Security related parameters and not handle. See 802.15.4-2011 6.2.4.2

Definition at line 527 of file lr-wpan-mac-base.h.

◆ MlmeGetConfirmCallback

This callback is called after a MlmeGetRequest has been called from the higher layer to get a PIB.

It returns a status of the outcome of the write attempt.

Definition at line 604 of file lr-wpan-mac-base.h.

◆ MlmeOrphanIndicationCallback

This callback is called by the MLME and issued to its next higher layer following the reception of a orphan notification.

Security related parameters and not handle. See 802.15.4-2011 6.2.7.1

Definition at line 538 of file lr-wpan-mac-base.h.

◆ MlmePollConfirmCallback

This callback is called after a Mlme-Poll.Request has been called from the higher layer.

It returns a status of the outcome of the transmission request

Definition at line 614 of file lr-wpan-mac-base.h.

◆ MlmeScanConfirmCallback

This callback is called after a MlmeScanRequest has been called from the higher layer.

It returns a status of the outcome of the scan.

Definition at line 555 of file lr-wpan-mac-base.h.

◆ MlmeSetConfirmCallback

This callback is called after a MlmeSetRequest has been called from the higher layer to set a PIB.

It returns a status of the outcome of the write attempt.

Definition at line 595 of file lr-wpan-mac-base.h.

◆ MlmeStartConfirmCallback

This callback is called after a MlmeStartRequest has been called from the higher layer.

It returns a status of the outcome of the transmission request

Definition at line 547 of file lr-wpan-mac-base.h.

◆ MlmeSyncLossIndicationCallback

This callback is called to indicate the loss of synchronization with a coordinator.

Todo:
for now, we do not deliver all of the parameters in section See IEEE 802.15.4-2011 6.2.13.2.

Definition at line 586 of file lr-wpan-mac-base.h.

◆ PdDataConfirmCallback

This method implements the PD SAP: PdDataConfirm.

Parameters
statusthe status to be transmitted

Definition at line 211 of file lr-wpan-phy.h.

◆ PdDataIndicationCallback

typedef Callback<void, uint32_t, Ptr<Packet>, uint8_t> ns3::PdDataIndicationCallback

This method implements the PD SAP: PdDataIndication.

Parameters
psduLengthnumber of bytes in the PSDU
pthe packet to be transmitted
lqiLink quality (LQI) value measured during reception of the PPDU

Definition at line 202 of file lr-wpan-phy.h.

◆ PlmeCcaConfirmCallback

This method implements the PD SAP: PlmeCcaConfirm.

Parameters
statusthe status of CCA

Definition at line 220 of file lr-wpan-phy.h.

◆ PlmeEdConfirmCallback

This method implements the PD SAP: PlmeEdConfirm.

Parameters
statusthe status of ED
energyLevelthe energy level of ED

Definition at line 230 of file lr-wpan-phy.h.

◆ PlmeGetAttributeConfirmCallback

This method implements the PD SAP: PlmeGetAttributeConfirm.

Parameters
statusthe status of PlmeGetAttributeRequest
idthe identifier of attribute
attributethe pointer to attribute struct

Definition at line 245 of file lr-wpan-phy.h.

◆ PlmeSetAttributeConfirmCallback

This method implements the PD SAP: PlmeSetAttributeConfirm.

Parameters
statusthe status of PlmeSetAttributeRequest
idthe identifier of attribute

Definition at line 265 of file lr-wpan-phy.h.

◆ PlmeSetTRXStateConfirmCallback

This method implements the PD SAP: PlmeSetTRXStateConfirm.

Parameters
statusthe status of PlmeSetTRXStateRequest

Definition at line 254 of file lr-wpan-phy.h.

◆ SuperframeStatus

typedef void(* ns3::TracedValueCallback::SuperframeStatus) (SuperframeStatus oldValue, SuperframeStatus newValue)

TracedValue callback signature for SuperframeStatus.

Parameters
[in]oldValueoriginal value of the traced variable
[in]newValuenew value of the traced variable

Definition at line 151 of file lr-wpan-mac.h.

Enumeration Type Documentation

◆ DeviceType

The device Capabilities.

Enumerator
RFD 

Reduced Functional Device (RFD)

FFD 

Full Functional Device (FFD)

Definition at line 42 of file lr-wpan-fields.h.

◆ LrWpanAddressMode

table 80 of 802.15.4

Enumerator
NO_PANID_ADDR 
ADDR_MODE_RESERVED 
SHORT_ADDR 
EXT_ADDR 

Definition at line 95 of file lr-wpan-mac-base.h.

◆ LrWpanMacPibAttributeIdentifier

IEEE802.15.4-2011 MAC PIB Attribute Identifiers Table 52 in section 6.4.2.

Enumerator
macBeaconPayload 
macBeaconPayloadLength 
macShortAddress 
macExtendedAddress 
macPanId 
pCurrentChannel 
pCurrentPage 
unsupported 

Definition at line 254 of file lr-wpan-mac-base.h.

◆ LrWpanMacState

MAC states.

Enumerator
MAC_IDLE 

MAC_IDLE.

MAC_CSMA 

MAC_CSMA.

MAC_SENDING 

MAC_SENDING.

MAC_ACK_PENDING 

MAC_ACK_PENDING.

CHANNEL_ACCESS_FAILURE 

CHANNEL_ACCESS_FAILURE.

CHANNEL_ACCESS_FAILURE 

A Tx could not take place due to activity in the CH.

CHANNEL_IDLE 

CHANNEL_IDLE.

SET_PHY_TX_ON 

SET_PHY_TX_ON.

MAC_GTS 

MAC_GTS.

MAC_INACTIVE 

MAC_INACTIVE.

MAC_CSMA_DEFERRED 

MAC_CSMA_DEFERRED.

Definition at line 71 of file lr-wpan-mac.h.

◆ LrWpanMacStatus

enum ns3::LrWpanMacStatus : std::uint8_t
strong

The status of a confirm or an indication primitive as a result of a previous request.

Represent the value of status in IEEE 802.15.4-2011 primitives. (Tables 6, 12, 18, 20, 31, 33, 35, 37, 39, 47)

Status codes values only appear in IEEE 802.15.4-2006, Table 78 See also NXP JN5169 IEEE 802.15.4 Stack User Guide (Table 6: Status Enumerations and Section 6.1.23)

Enumerator
SUCCESS 

The operation was completed successfully.

FULL_CAPACITY 

PAN at capacity.

Association Status field (std. 2006, Table 83)

ACCESS_DENIED 

PAN access denied.

Association Status field (std. 2006, Table 83)

COUNTER_ERROR 

The frame counter of the received frame is invalid.

IMPROPER_KEY_TYPE 

The key is not allowed to be used with that frame type.

IMPROPER_SECURITY_LEVEL 

Insufficient security level expected by the recipient.

UNSUPPORTED_LEGACY 

Deprecated security used in IEEE 802.15.4-2003.

UNSUPPORTED_SECURITY 

The security applied is not supported.

BEACON_LOSS 

The beacon was lost following a synchronization request.

CHANNEL_ACCESS_FAILURE 

A Tx could not take place due to activity in the CH.

DENIED 

The GTS request has been denied by the PAN coordinator.

DISABLE_TRX_FAILURE 

The attempt to disable the transceier has failed.

SECURITY_ERROR 
FRAME_TOO_LONG 

Frame more than aMaxPHYPacketSize or too large for CAP or GTS.

INVALID_GTS 

Missing GTS transmit or undefined direction.

INVALID_HANDLE 

When purging from TX queue handle was not found.

INVALID_PARAMETER 

Primitive parameter not supported or out of range.

NO_ACK 

No acknowledgment was received after macMaxFrameRetries.

NO_BEACON 

A scan operation failed to find any network beacons.

NO_DATA 

No response data were available following a request.

NO_SHORT_ADDRESS 

Failure due to unallocated 16-bit short address.

OUT_OF_CAP 

(Deprecated) See IEEE 802.15.4-2003

PAN_ID_CONFLICT 

PAN id conflict detected and informed to the coordinator.

REALIGMENT 

A coordinator realigment command has been received.

TRANSACTION_EXPIRED 

The transaction expired and its information discarded.

TRANSACTION_OVERFLOW 

There is no capacity to store the transaction.

TX_ACTIVE 

The transceiver was already enabled.

UNAVAILABLE_KEY 

Unavailable key, unknown or blacklisted.

UNSUPPORTED_ATTRIBUTE 

SET/GET request issued with a non supported ID.

INVALID_ADDRESS 

Invalid source or destination address.

ON_TIME_TOO_LONG 

RX enable request fail due to syms.

longer than Bcn. interval

PAST_TIME 

Rx enable request fail due to lack of time in superframe.

TRACKING_OFF 

This device is currently not tracking beacons.

INVALID_INDEX 

A MAC PIB write failed because specified index is out of range.

LIMIT_REACHED 

PAN descriptors stored reached max capacity.

READ_ONLY 

SET/GET request issued for a read only attribute.

SCAN_IN_PROGRESS 

Scan failed because already performing another scan.

SUPERFRAME_OVERLAP 

Coordinator sperframe and this device superframe tx overlap.

Definition at line 48 of file lr-wpan-mac-base.h.

◆ LrWpanMlmeScanType

Table 30 of IEEE 802.15.4-2011.

Enumerator
MLMESCAN_ED 
MLMESCAN_ACTIVE 
MLMESCAN_PASSIVE 
MLMESCAN_ORPHAN 

Definition at line 108 of file lr-wpan-mac-base.h.

◆ LrWpanPhyEnumeration

IEEE802.15.4-2006 PHY Emumerations Table 18 in section 6.2.3.

Enumerator
IEEE_802_15_4_PHY_BUSY 
IEEE_802_15_4_PHY_BUSY_RX 
IEEE_802_15_4_PHY_BUSY_TX 
IEEE_802_15_4_PHY_FORCE_TRX_OFF 
IEEE_802_15_4_PHY_IDLE 
IEEE_802_15_4_PHY_INVALID_PARAMETER 
IEEE_802_15_4_PHY_RX_ON 
IEEE_802_15_4_PHY_SUCCESS 
IEEE_802_15_4_PHY_TRX_OFF 
IEEE_802_15_4_PHY_TX_ON 
IEEE_802_15_4_PHY_UNSUPPORTED_ATTRIBUTE 
IEEE_802_15_4_PHY_READ_ONLY 
IEEE_802_15_4_PHY_UNSPECIFIED 

Definition at line 110 of file lr-wpan-phy.h.

◆ LrWpanPhyOption

This Phy option will be used to index various Tables in IEEE802.15.4-2011.

Enumerator
IEEE_802_15_4_868MHZ_BPSK 
IEEE_802_15_4_915MHZ_BPSK 
IEEE_802_15_4_950MHZ_BPSK 
IEEE_802_15_4_868MHZ_ASK 
IEEE_802_15_4_915MHZ_ASK 
IEEE_802_15_4_780MHZ_OQPSK 
IEEE_802_15_4_868MHZ_OQPSK 
IEEE_802_15_4_915MHZ_OQPSK 
IEEE_802_15_4_2_4GHZ_OQPSK 
IEEE_802_15_4_INVALID_PHY_OPTION 

Definition at line 90 of file lr-wpan-phy.h.

◆ LrWpanPibAttributeIdentifier

IEEE802.15.4-2006 PHY PIB Attribute Identifiers Table 23 in section 6.4.2.

Enumerator
phyCurrentChannel 
phyChannelsSupported 
phyTransmitPower 
phyCCAMode 
phyCurrentPage 
phyMaxFrameDuration 
phySHRDuration 
phySymbolsPerOctet 

Definition at line 162 of file lr-wpan-phy.h.

◆ LrWpanTxOption

Tx options.

Enumerator
TX_OPTION_NONE 

TX_OPTION_NONE.

TX_OPTION_ACK 

TX_OPTION_ACK.

TX_OPTION_GTS 

TX_OPTION_GTS.

TX_OPTION_INDIRECT 

TX_OPTION_INDIRECT.

Definition at line 58 of file lr-wpan-mac.h.

◆ PendingPrimitiveStatus

Indicates a pending MAC primitive.

Enumerator
MLME_NONE 

No pending primitive.

MLME_START_REQ 

Pending MLME-START.request primitive.

MLME_SCAN_REQ 

Pending MLME-SCAN.request primitive.

MLME_ASSOC_REQ 

Pending MLME-ASSOCIATION.request primitive.

MLME_SYNC_REQ 

Pending MLME-SYNC.request primitive.

Definition at line 123 of file lr-wpan-mac.h.

◆ SuperframeStatus

Superframe status.

Enumerator
BEACON 

The Beacon transmission or reception Period.

CAP 

Contention Access Period.

CFP 

Contention Free Period.

INACTIVE 

Inactive Period or unslotted CSMA-CA.

Definition at line 99 of file lr-wpan-mac.h.

◆ SuperframeType

Superframe type.

Enumerator
OUTGOING 

Outgoing Superframe.

INCOMING 

Incoming Superframe.

Definition at line 112 of file lr-wpan-mac.h.

Variable Documentation

◆ g_LrWpanSpectrumModelInitializerInstance

class ns3::LrWpanSpectrumModelInitializer ns3::g_LrWpanSpectrumModelInitializerInstance

Global object used to initialize the LrWpan Spectrum Model.