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

Implementation of the DevStatusAns LoRaWAN MAC command. More...

#include "mac-command.h"

Inheritance diagram for ns3::lorawan::DevStatusAns:
Collaboration diagram for ns3::lorawan::DevStatusAns:

Public Member Functions

 DevStatusAns ()
 Default constructor.
 DevStatusAns (uint8_t battery, uint8_t margin)
 Constructor with initialization of all parameters.
uint8_t Deserialize (Buffer::Iterator &start) override
 Deserialize the buffer into a MAC command.
uint8_t GetBattery () const
 Get the battery information contained in this MAC command.
uint8_t GetMargin () const
 Get the demodulation margin contained in this MAC command.
void Print (std::ostream &os) const override
 Print the contents of this MAC command in human-readable format.
void Serialize (Buffer::Iterator &start) const override
 Serialize the contents of this MAC command into a buffer, according to the LoRaWAN standard.
Public Member Functions inherited from ns3::lorawan::MacCommand
 MacCommand ()
 Default constructor.
virtual ~MacCommand ()
 Destructor.
virtual enum MacCommandType GetCommandType () const
 Get the commandType of this MAC command.
virtual uint8_t GetSerializedSize () const
 Get serialized length of this MAC command.
Public Member Functions inherited from ns3::SimpleRefCount< MacCommand >
 SimpleRefCount ()
 Default constructor.
uint32_t GetReferenceCount () const
 Get the reference count of the object.
SimpleRefCountoperator= (const SimpleRefCount &o)
 Assignment operator.
void Ref () const
 Increment the reference count.
void Unref () const
 Decrement the reference count.

Private Attributes

uint8_t m_battery
 The Battery field.
uint8_t m_margin
 The RadioStatus field.

Additional Inherited Members

Static Public Member Functions inherited from ns3::lorawan::MacCommand
static uint8_t GetCIDFromMacCommand (enum MacCommandType commandType)
 Get the CID that corresponds to a type of MAC command.
Protected Attributes inherited from ns3::lorawan::MacCommand
enum MacCommandType m_commandType
 The type of this command.
uint8_t m_serializedSize
 This MAC command's serialized size.

Detailed Description

Implementation of the DevStatusAns LoRaWAN MAC command.

Definition at line 503 of file mac-command.h.

Constructor & Destructor Documentation

◆ DevStatusAns() [1/2]

ns3::lorawan::DevStatusAns::DevStatusAns ( )

◆ DevStatusAns() [2/2]

ns3::lorawan::DevStatusAns::DevStatusAns ( uint8_t battery,
uint8_t margin )

Constructor with initialization of all parameters.

Parameters
batteryThe battery level in [0, 255].
marginThe demodulation margin of the last received DevStatusReq packet.

Definition at line 659 of file mac-command.cc.

References ns3::lorawan::DEV_STATUS_ANS, m_battery, ns3::lorawan::MacCommand::m_commandType, m_margin, ns3::lorawan::MacCommand::m_serializedSize, NS_ASSERT_MSG, and NS_LOG_FUNCTION.

Member Function Documentation

◆ Deserialize()

uint8_t ns3::lorawan::DevStatusAns::Deserialize ( Buffer::Iterator & start)
overridevirtual

Deserialize the buffer into a MAC command.

Parameters
startA pointer to the buffer that contains the serialized command.
Returns
The number of bytes that were consumed.

Implements ns3::lorawan::MacCommand.

Definition at line 679 of file mac-command.cc.

References m_battery, m_margin, ns3::lorawan::MacCommand::m_serializedSize, and NS_LOG_FUNCTION.

◆ GetBattery()

uint8_t ns3::lorawan::DevStatusAns::GetBattery ( ) const

Get the battery information contained in this MAC command.

Returns
The battery level.

Definition at line 699 of file mac-command.cc.

References m_battery, and NS_LOG_FUNCTION.

◆ GetMargin()

uint8_t ns3::lorawan::DevStatusAns::GetMargin ( ) const

Get the demodulation margin contained in this MAC command.

Returns
The margin.

Definition at line 706 of file mac-command.cc.

References m_margin, and NS_LOG_FUNCTION.

◆ Print()

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

Print the contents of this MAC command in human-readable format.

Parameters
osThe std::ostream instance on which to print the MAC command.

Implements ns3::lorawan::MacCommand.

Definition at line 689 of file mac-command.cc.

References m_battery, m_margin, and NS_LOG_FUNCTION.

◆ Serialize()

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

Serialize the contents of this MAC command into a buffer, according to the LoRaWAN standard.

Parameters
startA pointer to the buffer into which to serialize the command.

Implements ns3::lorawan::MacCommand.

Definition at line 670 of file mac-command.cc.

References ns3::lorawan::MacCommand::GetCIDFromMacCommand(), m_battery, ns3::lorawan::MacCommand::m_commandType, m_margin, and NS_LOG_FUNCTION.

Here is the call graph for this function:

Member Data Documentation

◆ m_battery

uint8_t ns3::lorawan::DevStatusAns::m_battery
private

The Battery field.

Definition at line 535 of file mac-command.h.

Referenced by DevStatusAns(), Deserialize(), GetBattery(), Print(), and Serialize().

◆ m_margin

uint8_t ns3::lorawan::DevStatusAns::m_margin
private

The RadioStatus field.

Definition at line 536 of file mac-command.h.

Referenced by DevStatusAns(), Deserialize(), GetMargin(), Print(), and Serialize().


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