A Discrete-Event Network Simulator
API
Loading...
Searching...
No Matches
ns3::lorawan::LoraFrameHeader Class Reference

This class represents the Frame header (FHDR) used in a LoraWAN network. More...

#include "lora-frame-header.h"

+ Inheritance diagram for ns3::lorawan::LoraFrameHeader:
+ Collaboration diagram for ns3::lorawan::LoraFrameHeader:

Public Member Functions

 LoraFrameHeader ()
 Default constructor.
 
 ~LoraFrameHeader () override
 Destructor.
 
void AddCommand (Ptr< MacCommand > macCommand)
 Add a predefined command to the list in this frame header.
 
void AddDevStatusReq ()
 Add a DevStatusReq command.
 
void AddDutyCycleAns ()
 Add a DutyCycleAns command.
 
void AddDutyCycleReq (uint8_t dutyCycle)
 Add a DutyCycleReq command.
 
void AddLinkAdrAns (bool powerAck, bool dataRateAck, bool channelMaskAck)
 Add a LinkAdrAns command.
 
void AddLinkAdrReq (uint8_t dataRate, uint8_t txPower, std::list< int > enabledChannels, int repetitions)
 Add a LinkAdrReq command.
 
void AddLinkCheckAns (uint8_t margin, uint8_t gwCnt)
 Add a LinkCheckAns command.
 
void AddLinkCheckReq ()
 Add a LinkCheckReq command.
 
void AddNewChannelReq (uint8_t chIndex, double frequency, uint8_t minDataRate, uint8_t maxDataRate)
 Add a NewChannelReq command with provided fields.
 
void AddRxParamSetupAns ()
 Add a RxParamSetupAns command.
 
void AddRxParamSetupReq (uint8_t rx1DrOffset, uint8_t rx2DataRate, double frequency)
 Add a RxParamSetupReq command.
 
uint32_t Deserialize (Buffer::Iterator start) override
 Deserialize the contents of the buffer into a LoraFrameHeader object.
 
bool GetAck () const
 Get the value of the ACK bit field.
 
LoraDeviceAddress GetAddress () const
 Get this header's device address value.
 
bool GetAdr () const
 Get the value of the ADR bit field.
 
bool GetAdrAckReq () const
 Get the value of the ADRACKReq bit field.
 
std::list< Ptr< MacCommand > > GetCommands ()
 Return a list of pointers to all the MAC commands saved in this header.
 
uint16_t GetFCnt () const
 Get the FCnt value.
 
uint8_t GetFOptsLen () const
 Get the FOptsLen value.
 
bool GetFPending () const
 Get the value of the FPending bit field.
 
uint8_t GetFPort () const
 Get the FPort value.
 
TypeId GetInstanceTypeId () const override
 Get the most derived TypeId for this Object.
 
template<typename T >
Ptr< T > GetMacCommand ()
 Return a pointer to the first MacCommand of type T, or 0 if no such MacCommand exists in this header.
 
uint32_t GetSerializedSize () const override
 Return the size required for serialization of this header.
 
void Print (std::ostream &os) const override
 Print the header in a human-readable format.
 
void Serialize (Buffer::Iterator start) const override
 Serialize the header.
 
void SetAck (bool ack)
 Set the value of the ACK bit field.
 
void SetAddress (LoraDeviceAddress address)
 Set the address.
 
void SetAdr (bool adr)
 Set the value of the ADR bit field.
 
void SetAdrAckReq (bool adrAckReq)
 Set the value of the ADRACKReq bit field.
 
void SetAsDownlink ()
 State that this is a downlink message.
 
void SetAsUplink ()
 State that this is an uplink message.
 
void SetFCnt (uint16_t fCnt)
 Set the FCnt value.
 
void SetFPending (bool fPending)
 Set the value of the FPending bit field.
 
void SetFPort (uint8_t fPort)
 Set the FPort value.
 
- Public Member Functions inherited from ns3::Header
 ~Header () override
 
uint32_t Deserialize (Buffer::Iterator start) override=0
 
virtual uint32_t Deserialize (Buffer::Iterator start)=0
 Deserialize the object from a buffer iterator.
 
virtual uint32_t Deserialize (Buffer::Iterator start, Buffer::Iterator end)
 Deserialize the object from a buffer iterator.
 
virtual uint32_t GetSerializedSize () const =0
 
void Print (std::ostream &os) const override=0
 
virtual void Serialize (Buffer::Iterator start) const =0
 
virtual uint32_t Deserialize (Buffer::Iterator start)=0
 Deserialize the object from a buffer iterator.
 
virtual uint32_t Deserialize (Buffer::Iterator start, Buffer::Iterator end)
 Deserialize the object from a buffer iterator.
 
virtual void Print (std::ostream &os) const =0
 Print the object contents.
 
- Public Member Functions inherited from ns3::ObjectBase
virtual ~ObjectBase ()
 Virtual destructor.
 
void GetAttribute (std::string name, AttributeValue &value) const
 Get the value of an attribute, raising fatal errors if unsuccessful.
 
bool GetAttributeFailSafe (std::string name, AttributeValue &value) const
 Get the value of an attribute without raising errors.
 
virtual TypeId GetInstanceTypeId () const =0
 Get the most derived TypeId for this Object.
 
void SetAttribute (std::string name, const AttributeValue &value)
 Set a single attribute, raising fatal errors if unsuccessful.
 
bool SetAttributeFailSafe (std::string name, const AttributeValue &value)
 Set a single attribute without raising errors.
 
bool TraceConnect (std::string name, std::string context, const CallbackBase &cb)
 Connect a TraceSource to a Callback with a context.
 
bool TraceConnectWithoutContext (std::string name, const CallbackBase &cb)
 Connect a TraceSource to a Callback without a context.
 
bool TraceDisconnect (std::string name, std::string context, const CallbackBase &cb)
 Disconnect from a TraceSource a Callback previously connected with a context.
 
bool TraceDisconnectWithoutContext (std::string name, const CallbackBase &cb)
 Disconnect from a TraceSource a Callback previously connected without a context.
 

Static Public Member Functions

static TypeId GetTypeId ()
 Register this type.
 
- Static Public Member Functions inherited from ns3::Header
static TypeId GetTypeId ()
 Get the type ID.
 
- Static Public Member Functions inherited from ns3::Chunk
static TypeId GetTypeId ()
 Get the type ID.
 
- Static Public Member Functions inherited from ns3::ObjectBase
static TypeId GetTypeId ()
 Get the type ID.
 

Private Attributes

bool m_ack
 The ACK field of the FCtrl.
 
LoraDeviceAddress m_address
 The DevAddr field.
 
bool m_adr
 The ADR field of the FCtrl.
 
bool m_adrAckReq
 The ADRACKReq field of the FCtrl.
 
uint16_t m_fCnt
 The FCnt field.
 
Buffer m_fOpts
 The FOpts field.
 
uint8_t m_fOptsLen
 The FOptsLen field of the FCtrl.
 
bool m_fPending
 The FPending/ClassB field of the FCtrl.
 
uint8_t m_fPort
 The FPort field.
 
bool m_isUplink
 Whether this frame header is uplink or not.
 
std::list< Ptr< MacCommand > > m_macCommands
 List containing all the MacCommand instances that are contained in this LoraFrameHeader.
 

Additional Inherited Members

- Protected Member Functions inherited from ns3::ObjectBase
void ConstructSelf (const AttributeConstructionList &attributes)
 Complete construction of ObjectBase; invoked by derived classes.
 
virtual void NotifyConstructionCompleted ()
 Notifier called once the ObjectBase is fully constructed.
 

Detailed Description

This class represents the Frame header (FHDR) used in a LoraWAN network.

Although the specification divides the FHDR from the FPort field, this implementation considers them as a unique entity (i.e., FPort is treated as if it were a part of FHDR).

Remarks
Prior to using it, this class needs to be informed of whether the header is for an uplink or downlink message. This is necessary due to the fact that UL and DL messages have subtly different structure and, hence, serialization and deserialization schemes.

Definition at line 47 of file lora-frame-header.h.

Constructor & Destructor Documentation

◆ LoraFrameHeader()

ns3::lorawan::LoraFrameHeader::LoraFrameHeader ( )

Default constructor.

Definition at line 34 of file lora-frame-header.cc.

◆ ~LoraFrameHeader()

ns3::lorawan::LoraFrameHeader::~LoraFrameHeader ( )
override

Destructor.

Definition at line 46 of file lora-frame-header.cc.

Member Function Documentation

◆ AddCommand()

void ns3::lorawan::LoraFrameHeader::AddCommand ( Ptr< MacCommand macCommand)

Add a predefined command to the list in this frame header.

Parameters
macCommandA pointer to the MacCommand object to add.

Definition at line 594 of file lora-frame-header.cc.

References m_fOptsLen, m_macCommands, and NS_LOG_FUNCTION.

Referenced by ns3::lorawan::EndDeviceStatus::AddMACCommand(), and ns3::lorawan::EndDeviceLorawanMac::ApplyNecessaryOptions().

+ Here is the caller graph for this function:

◆ AddDevStatusReq()

void ns3::lorawan::LoraFrameHeader::AddDevStatusReq ( )

Add a DevStatusReq command.

Definition at line 558 of file lora-frame-header.cc.

References m_fOptsLen, m_macCommands, and NS_LOG_FUNCTION.

◆ AddDutyCycleAns()

void ns3::lorawan::LoraFrameHeader::AddDutyCycleAns ( )

Add a DutyCycleAns command.

Definition at line 519 of file lora-frame-header.cc.

References m_fOptsLen, m_macCommands, and NS_LOG_FUNCTION.

◆ AddDutyCycleReq()

void ns3::lorawan::LoraFrameHeader::AddDutyCycleReq ( uint8_t  dutyCycle)

Add a DutyCycleReq command.

This command accepts an 8-bit integer as dutyCycle. The actual dutyCycle that will be implemented in the end-device will then be, in fraction form, 1/2^(dutyCycle).

Parameters
dutyCycleThe dutyCycle in 8-bit form.

Definition at line 507 of file lora-frame-header.cc.

References m_fOptsLen, m_macCommands, and NS_LOG_FUNCTION.

◆ AddLinkAdrAns()

void ns3::lorawan::LoraFrameHeader::AddLinkAdrAns ( bool  powerAck,
bool  dataRateAck,
bool  channelMaskAck 
)

Add a LinkAdrAns command.

Parameters
powerAckWhether the power can be set or not.
dataRateAckWhether the data rate can be set or not.
channelMaskAckWhether the channel mask is coherent with the device's current state or not.

Definition at line 496 of file lora-frame-header.cc.

References m_fOptsLen, m_macCommands, and NS_LOG_FUNCTION.

◆ AddLinkAdrReq()

void ns3::lorawan::LoraFrameHeader::AddLinkAdrReq ( uint8_t  dataRate,
uint8_t  txPower,
std::list< int >  enabledChannels,
int  repetitions 
)

Add a LinkAdrReq command.

Parameters
dataRateThe data rate at which the receiver should transmit.
txPowerThe power at which the receiver should transmit, encoded according to the LoRaWAN specification of the region.
enabledChannelsA list containing the indices of channels enabled by this command.
repetitionsThe number of repetitions the receiver should send when transmitting.

Definition at line 469 of file lora-frame-header.cc.

References m_fOptsLen, m_macCommands, NS_ASSERT, NS_LOG_DEBUG, and NS_LOG_FUNCTION.

◆ AddLinkCheckAns()

void ns3::lorawan::LoraFrameHeader::AddLinkCheckAns ( uint8_t  margin,
uint8_t  gwCnt 
)

Add a LinkCheckAns command.

Parameters
marginThe demodulation margin the LinkCheckReq packet was received with.
gwCntThe number of gateways the LinkCheckReq packet was received by.

Definition at line 458 of file lora-frame-header.cc.

References m_fOptsLen, m_macCommands, and NS_LOG_FUNCTION.

Referenced by HeaderTest::DoRun().

+ Here is the caller graph for this function:

◆ AddLinkCheckReq()

void ns3::lorawan::LoraFrameHeader::AddLinkCheckReq ( )

Add a LinkCheckReq command.

Definition at line 446 of file lora-frame-header.cc.

References m_fOptsLen, m_macCommands, NS_LOG_DEBUG, and NS_LOG_FUNCTION_NOARGS.

◆ AddNewChannelReq()

void ns3::lorawan::LoraFrameHeader::AddNewChannelReq ( uint8_t  chIndex,
double  frequency,
uint8_t  minDataRate,
uint8_t  maxDataRate 
)

Add a NewChannelReq command with provided fields.

Parameters
chIndexThe ChIndex field.
frequencyThe Frequency field.
minDataRateThe MinDR field.
maxDataRateThe MaxDR field.

Definition at line 570 of file lora-frame-header.cc.

References m_fOptsLen, m_macCommands, and NS_LOG_FUNCTION.

◆ AddRxParamSetupAns()

void ns3::lorawan::LoraFrameHeader::AddRxParamSetupAns ( )

Add a RxParamSetupAns command.

Definition at line 546 of file lora-frame-header.cc.

References m_fOptsLen, m_macCommands, and NS_LOG_FUNCTION.

◆ AddRxParamSetupReq()

void ns3::lorawan::LoraFrameHeader::AddRxParamSetupReq ( uint8_t  rx1DrOffset,
uint8_t  rx2DataRate,
double  frequency 
)

Add a RxParamSetupReq command.

Parameters
rx1DrOffsetThe requested data rate offset for the first receive window.
rx2DataRateThe requested data rate for the second receive window.
frequencyThe frequency at which to listen for the second receive window.

Definition at line 531 of file lora-frame-header.cc.

References m_fOptsLen, m_macCommands, NS_ASSERT, and NS_LOG_FUNCTION.

◆ Deserialize()

uint32_t ns3::lorawan::LoraFrameHeader::Deserialize ( Buffer::Iterator  start)
overridevirtual

Deserialize the contents of the buffer into a LoraFrameHeader object.

Parameters
startA pointer to the buffer we need to deserialize.
Returns
The number of consumed bytes.

Implements ns3::Header.

Definition at line 122 of file lora-frame-header.cc.

References m_ack, m_address, m_adr, m_adrAckReq, m_fCnt, m_fOptsLen, m_fPending, m_fPort, m_isUplink, m_macCommands, NS_LOG_DEBUG, NS_LOG_ERROR, NS_LOG_FUNCTION_NOARGS, ns3::lorawan::LoraDeviceAddress::Print(), and ns3::lorawan::LoraDeviceAddress::Set().

Referenced by HeaderTest::DoRun().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ GetAck()

bool ns3::lorawan::LoraFrameHeader::GetAck ( ) const

Get the value of the ACK bit field.

Returns
True if the ACK bit is set, false otherwise.

Definition at line 403 of file lora-frame-header.cc.

References m_ack.

Referenced by HeaderTest::DoRun(), and ns3::lorawan::EndDeviceLorawanMac::ParseCommands().

+ Here is the caller graph for this function:

◆ GetAddress()

LoraDeviceAddress ns3::lorawan::LoraFrameHeader::GetAddress ( ) const

Get this header's device address value.

Returns
The address value stored in this header.

Definition at line 365 of file lora-frame-header.cc.

References m_address.

Referenced by HeaderTest::DoRun(), ns3::lorawan::NetworkStatus::GetEndDeviceStatus(), ns3::lorawan::NetworkScheduler::OnReceivedPacket(), ns3::lorawan::NetworkStatus::OnReceivedPacket(), ns3::lorawan::ConfirmedMessagesComponent::OnReceivedPacket(), and ns3::lorawan::ClassAEndDeviceLorawanMac::Receive().

+ Here is the caller graph for this function:

◆ GetAdr()

bool ns3::lorawan::LoraFrameHeader::GetAdr ( ) const

Get the value of the ADR bit field.

Returns
True if the ADR bit is set, false otherwise.

Definition at line 378 of file lora-frame-header.cc.

References m_adr.

Referenced by ns3::lorawan::AdrComponent::BeforeSendingReply(), and HeaderTest::DoRun().

+ Here is the caller graph for this function:

◆ GetAdrAckReq()

bool ns3::lorawan::LoraFrameHeader::GetAdrAckReq ( ) const

Get the value of the ADRACKReq bit field.

Returns
True if the ADRACKReq bit is set, false otherwise.

Definition at line 390 of file lora-frame-header.cc.

References m_adrAckReq.

◆ GetCommands()

std::list< Ptr< MacCommand > > ns3::lorawan::LoraFrameHeader::GetCommands ( )

Return a list of pointers to all the MAC commands saved in this header.

Returns
The list of pointers to MacCommand objects.

Definition at line 586 of file lora-frame-header.cc.

References m_macCommands, and NS_LOG_FUNCTION_NOARGS.

Referenced by HeaderTest::DoRun(), and ns3::lorawan::EndDeviceLorawanMac::ParseCommands().

+ Here is the caller graph for this function:

◆ GetFCnt()

uint16_t ns3::lorawan::LoraFrameHeader::GetFCnt ( ) const

Get the FCnt value.

Returns
The FCnt value.

Definition at line 440 of file lora-frame-header.cc.

References m_fCnt.

Referenced by HeaderTest::DoRun(), ns3::lorawan::EndDeviceStatus::GetCompleteReplyPacket(), ns3::lorawan::EndDeviceStatus::InsertReceivedPacket(), and OnPhySentPacket().

+ Here is the caller graph for this function:

◆ GetFOptsLen()

uint8_t ns3::lorawan::LoraFrameHeader::GetFOptsLen ( ) const

Get the FOptsLen value.

Remarks
This value cannot be set since it's directly extracted from the number and kind of MAC commands.
Returns
The FOptsLen value.

Definition at line 421 of file lora-frame-header.cc.

References m_macCommands.

◆ GetFPending()

bool ns3::lorawan::LoraFrameHeader::GetFPending ( ) const

Get the value of the FPending bit field.

Returns
True if the FPending bit is set, false otherwise.

Definition at line 415 of file lora-frame-header.cc.

References m_fPending.

◆ GetFPort()

uint8_t ns3::lorawan::LoraFrameHeader::GetFPort ( ) const

Get the FPort value.

Returns
The FPort value.

Definition at line 353 of file lora-frame-header.cc.

References m_fPort.

◆ GetInstanceTypeId()

TypeId ns3::lorawan::LoraFrameHeader::GetInstanceTypeId ( ) const
overridevirtual

Get the most derived TypeId for this Object.

This method is typically implemented by ns3::Object::GetInstanceTypeId but some classes which derive from ns3::ObjectBase directly have to implement it themselves.

Returns
The TypeId associated to the most-derived type of this instance.

Implements ns3::ObjectBase.

Definition at line 59 of file lora-frame-header.cc.

References GetTypeId().

+ Here is the call graph for this function:

◆ GetMacCommand()

template<typename T >
Ptr< T > ns3::lorawan::LoraFrameHeader::GetMacCommand
inline

Return a pointer to the first MacCommand of type T, or 0 if no such MacCommand exists in this header.

Returns
A pointer to a MacCommand of type T.

Definition at line 347 of file lora-frame-header.h.

References m_macCommands.

Referenced by ns3::lorawan::LinkCheckComponent::BeforeSendingReply().

+ Here is the caller graph for this function:

◆ GetSerializedSize()

uint32_t ns3::lorawan::LoraFrameHeader::GetSerializedSize ( ) const
overridevirtual

Return the size required for serialization of this header.

Returns
The serialized size in bytes.

Implements ns3::Header.

Definition at line 65 of file lora-frame-header.cc.

References m_fOptsLen, NS_LOG_FUNCTION_NOARGS, and NS_LOG_INFO.

Referenced by ns3::lorawan::EndDeviceLorawanMac::DoSend().

+ Here is the caller graph for this function:

◆ GetTypeId()

TypeId ns3::lorawan::LoraFrameHeader::GetTypeId ( )
static

Register this type.

Returns
The object TypeId.

Definition at line 51 of file lora-frame-header.cc.

References ns3::TypeId::SetParent().

Referenced by GetInstanceTypeId().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ Print()

void ns3::lorawan::LoraFrameHeader::Print ( std::ostream &  os) const
overridevirtual

Print the header in a human-readable format.

Parameters
osThe std::ostream on which to print the header.

Implements ns3::Header.

Definition at line 310 of file lora-frame-header.cc.

References m_ack, m_address, m_adr, m_adrAckReq, m_fCnt, m_fOptsLen, m_fPending, m_fPort, m_macCommands, NS_LOG_FUNCTION_NOARGS, and ns3::lorawan::LoraDeviceAddress::Print().

+ Here is the call graph for this function:

◆ Serialize()

void ns3::lorawan::LoraFrameHeader::Serialize ( Buffer::Iterator  start) const
overridevirtual

Serialize the header.

See Page 15 of LoraWAN specification for a representation of fields.

Parameters
startA pointer to the buffer that will be filled with the serialization.

Implements ns3::Header.

Definition at line 79 of file lora-frame-header.cc.

References ns3::lorawan::LoraDeviceAddress::Get(), m_ack, m_address, m_adr, m_adrAckReq, m_fCnt, m_fOptsLen, m_fPending, m_fPort, m_macCommands, NS_LOG_DEBUG, NS_LOG_FUNCTION_NOARGS, and ns3::lorawan::LoraDeviceAddress::Print().

Referenced by HeaderTest::DoRun().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ SetAck()

void ns3::lorawan::LoraFrameHeader::SetAck ( bool  ack)

Set the value of the ACK bit field.

Parameters
ackWhether or not to set the ACK bit.

Definition at line 396 of file lora-frame-header.cc.

References m_ack, and NS_LOG_FUNCTION.

Referenced by HeaderTest::DoRun().

+ Here is the caller graph for this function:

◆ SetAddress()

void ns3::lorawan::LoraFrameHeader::SetAddress ( LoraDeviceAddress  address)

Set the address.

Parameters
addressThe LoraDeviceAddress to set.

Definition at line 359 of file lora-frame-header.cc.

References m_address.

Referenced by ns3::lorawan::EndDeviceLorawanMac::ApplyNecessaryOptions(), HeaderTest::DoRun(), and ns3::lorawan::EndDeviceStatus::GetCompleteReplyPacket().

+ Here is the caller graph for this function:

◆ SetAdr()

void ns3::lorawan::LoraFrameHeader::SetAdr ( bool  adr)

Set the value of the ADR bit field.

Parameters
adrWhether or not to set the ADR bit field.

Definition at line 371 of file lora-frame-header.cc.

References m_adr, and NS_LOG_FUNCTION.

Referenced by ns3::lorawan::EndDeviceLorawanMac::ApplyNecessaryOptions(), and HeaderTest::DoRun().

+ Here is the caller graph for this function:

◆ SetAdrAckReq()

void ns3::lorawan::LoraFrameHeader::SetAdrAckReq ( bool  adrAckReq)

Set the value of the ADRACKReq bit field.

Parameters
adrAckReqWhether or not to set the ADRACKReq bit field.

Definition at line 384 of file lora-frame-header.cc.

References m_adrAckReq.

Referenced by ns3::lorawan::EndDeviceLorawanMac::ApplyNecessaryOptions().

+ Here is the caller graph for this function:

◆ SetAsDownlink()

void ns3::lorawan::LoraFrameHeader::SetAsDownlink ( )

State that this is a downlink message.

This method needs to be called at least once before any serialization or deserialization.

Definition at line 339 of file lora-frame-header.cc.

References m_isUplink, and NS_LOG_FUNCTION_NOARGS.

Referenced by HeaderTest::DoRun(), and ns3::lorawan::ClassAEndDeviceLorawanMac::Receive().

+ Here is the caller graph for this function:

◆ SetAsUplink()

void ns3::lorawan::LoraFrameHeader::SetAsUplink ( )

State that this is an uplink message.

This method needs to be called at least once before any serialization or deserialization.

Definition at line 331 of file lora-frame-header.cc.

References m_isUplink, and NS_LOG_FUNCTION_NOARGS.

Referenced by ns3::lorawan::EndDeviceLorawanMac::ApplyNecessaryOptions(), ns3::lorawan::AdrComponent::BeforeSendingReply(), ns3::lorawan::LinkCheckComponent::BeforeSendingReply(), ns3::lorawan::EndDeviceStatus::GetCompleteReplyPacket(), ns3::lorawan::EndDeviceStatus::InsertReceivedPacket(), ns3::lorawan::NetworkScheduler::OnReceivedPacket(), ns3::lorawan::NetworkStatus::OnReceivedPacket(), and ns3::lorawan::ConfirmedMessagesComponent::OnReceivedPacket().

+ Here is the caller graph for this function:

◆ SetFCnt()

void ns3::lorawan::LoraFrameHeader::SetFCnt ( uint16_t  fCnt)

Set the FCnt value.

Parameters
fCntThe FCnt to set.

Definition at line 434 of file lora-frame-header.cc.

References m_fCnt.

Referenced by ns3::lorawan::EndDeviceLorawanMac::ApplyNecessaryOptions(), HeaderTest::DoRun(), and ns3::lorawan::EndDeviceStatus::GetCompleteReplyPacket().

+ Here is the caller graph for this function:

◆ SetFPending()

void ns3::lorawan::LoraFrameHeader::SetFPending ( bool  fPending)

Set the value of the FPending bit field.

Parameters
fPendingWhether or not to set the FPending bit.

Definition at line 409 of file lora-frame-header.cc.

References m_fPending.

◆ SetFPort()

void ns3::lorawan::LoraFrameHeader::SetFPort ( uint8_t  fPort)

Set the FPort value.

Parameters
fPortThe FPort to set.

Definition at line 347 of file lora-frame-header.cc.

References m_fPort.

Referenced by ns3::lorawan::EndDeviceLorawanMac::ApplyNecessaryOptions().

+ Here is the caller graph for this function:

Member Data Documentation

◆ m_ack

bool ns3::lorawan::LoraFrameHeader::m_ack
private

The ACK field of the FCtrl.

Definition at line 332 of file lora-frame-header.h.

Referenced by Deserialize(), GetAck(), Print(), Serialize(), and SetAck().

◆ m_address

LoraDeviceAddress ns3::lorawan::LoraFrameHeader::m_address
private

The DevAddr field.

Definition at line 328 of file lora-frame-header.h.

Referenced by Deserialize(), GetAddress(), Print(), Serialize(), and SetAddress().

◆ m_adr

bool ns3::lorawan::LoraFrameHeader::m_adr
private

The ADR field of the FCtrl.

Definition at line 330 of file lora-frame-header.h.

Referenced by Deserialize(), GetAdr(), Print(), Serialize(), and SetAdr().

◆ m_adrAckReq

bool ns3::lorawan::LoraFrameHeader::m_adrAckReq
private

The ADRACKReq field of the FCtrl.

Definition at line 331 of file lora-frame-header.h.

Referenced by Deserialize(), GetAdrAckReq(), Print(), Serialize(), and SetAdrAckReq().

◆ m_fCnt

uint16_t ns3::lorawan::LoraFrameHeader::m_fCnt
private

The FCnt field.

Definition at line 336 of file lora-frame-header.h.

Referenced by Deserialize(), GetFCnt(), Print(), Serialize(), and SetFCnt().

◆ m_fOpts

Buffer ns3::lorawan::LoraFrameHeader::m_fOpts
private

The FOpts field.

Definition at line 338 of file lora-frame-header.h.

◆ m_fOptsLen

◆ m_fPending

bool ns3::lorawan::LoraFrameHeader::m_fPending
private

The FPending/ClassB field of the FCtrl.

Definition at line 333 of file lora-frame-header.h.

Referenced by Deserialize(), GetFPending(), Print(), Serialize(), and SetFPending().

◆ m_fPort

uint8_t ns3::lorawan::LoraFrameHeader::m_fPort
private

The FPort field.

Definition at line 326 of file lora-frame-header.h.

Referenced by Deserialize(), GetFPort(), Print(), Serialize(), and SetFPort().

◆ m_isUplink

bool ns3::lorawan::LoraFrameHeader::m_isUplink
private

Whether this frame header is uplink or not.

Definition at line 342 of file lora-frame-header.h.

Referenced by Deserialize(), SetAsDownlink(), and SetAsUplink().

◆ m_macCommands

std::list<Ptr<MacCommand> > ns3::lorawan::LoraFrameHeader::m_macCommands
private

The documentation for this class was generated from the following files: