Implementation of the NewChannelReq LoRaWAN MAC command. More...
#include "mac-command.h"
Public Member Functions | |
NewChannelReq () | |
Default constructor. | |
NewChannelReq (uint8_t chIndex, uint32_t frequencyHz, uint8_t minDataRate, uint8_t maxDataRate) | |
Constructor providing initialization of all parameters. | |
uint8_t | Deserialize (Buffer::Iterator &start) override |
Deserialize the buffer into a MAC command. | |
uint8_t | GetChannelIndex () const |
Get the the ChIndex field contained in this MAC command. | |
uint32_t | GetFrequency () const |
Get the the Frequency field contained in this MAC command. | |
uint8_t | GetMaxDataRate () const |
Get the the MaxDR field contained in this MAC command. | |
uint8_t | GetMinDataRate () const |
Get the the MinDR field 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. | |
SimpleRefCount & | operator= (const SimpleRefCount &o) |
Assignment operator. | |
void | Ref () const |
Increment the reference count. | |
void | Unref () const |
Decrement the reference count. |
Private Attributes | |
uint8_t | m_chIndex |
The ChIndex field. | |
uint32_t | m_frequencyHz |
The Frequency field, in Hz. | |
uint8_t | m_maxDataRate |
The MaxDR field. | |
uint8_t | m_minDataRate |
The MinDR 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. |
Implementation of the NewChannelReq LoRaWAN MAC command.
Definition at line 544 of file mac-command.h.
ns3::lorawan::NewChannelReq::NewChannelReq | ( | ) |
Default constructor.
Definition at line 716 of file mac-command.cc.
References ns3::lorawan::MacCommand::m_commandType, ns3::lorawan::MacCommand::m_serializedSize, ns3::lorawan::NEW_CHANNEL_REQ, and NS_LOG_FUNCTION.
ns3::lorawan::NewChannelReq::NewChannelReq | ( | uint8_t | chIndex, |
uint32_t | frequencyHz, | ||
uint8_t | minDataRate, | ||
uint8_t | maxDataRate ) |
Constructor providing initialization of all parameters.
chIndex | The index of the channel this command wants to operate on. |
frequencyHz | The new frequency for this channel in Hz. |
minDataRate | The minimum data rate allowed on this channel. |
maxDataRate | The maximum data rate allowed on this channel. |
Definition at line 723 of file mac-command.cc.
References m_chIndex, ns3::lorawan::MacCommand::m_commandType, m_frequencyHz, m_maxDataRate, m_minDataRate, ns3::lorawan::MacCommand::m_serializedSize, ns3::lorawan::NEW_CHANNEL_REQ, NS_ASSERT_MSG, and NS_LOG_FUNCTION.
|
overridevirtual |
Deserialize the buffer into a MAC command.
start | A pointer to the buffer that contains the serialized command. |
Implements ns3::lorawan::MacCommand.
Definition at line 754 of file mac-command.cc.
References m_chIndex, m_frequencyHz, m_maxDataRate, m_minDataRate, ns3::lorawan::MacCommand::m_serializedSize, and NS_LOG_FUNCTION.
uint8_t ns3::lorawan::NewChannelReq::GetChannelIndex | ( | ) | const |
Get the the ChIndex field contained in this MAC command.
Definition at line 784 of file mac-command.cc.
References m_chIndex, and NS_LOG_FUNCTION.
uint32_t ns3::lorawan::NewChannelReq::GetFrequency | ( | ) | const |
Get the the Frequency field contained in this MAC command.
Definition at line 791 of file mac-command.cc.
References m_frequencyHz, and NS_LOG_FUNCTION.
uint8_t ns3::lorawan::NewChannelReq::GetMaxDataRate | ( | ) | const |
Get the the MaxDR field contained in this MAC command.
Definition at line 805 of file mac-command.cc.
References m_maxDataRate, and NS_LOG_FUNCTION.
uint8_t ns3::lorawan::NewChannelReq::GetMinDataRate | ( | ) | const |
Get the the MinDR field contained in this MAC command.
Definition at line 798 of file mac-command.cc.
References m_minDataRate, and NS_LOG_FUNCTION.
|
overridevirtual |
Print the contents of this MAC command in human-readable format.
os | The std::ostream instance on which to print the MAC command. |
Implements ns3::lorawan::MacCommand.
Definition at line 772 of file mac-command.cc.
References m_chIndex, m_frequencyHz, m_maxDataRate, m_minDataRate, and NS_LOG_FUNCTION.
|
overridevirtual |
Serialize the contents of this MAC command into a buffer, according to the LoRaWAN standard.
start | A pointer to the buffer into which to serialize the command. |
Implements ns3::lorawan::MacCommand.
Definition at line 740 of file mac-command.cc.
References ns3::lorawan::MacCommand::GetCIDFromMacCommand(), m_chIndex, ns3::lorawan::MacCommand::m_commandType, m_frequencyHz, m_maxDataRate, m_minDataRate, and NS_LOG_FUNCTION.
|
private |
The ChIndex field.
Definition at line 589 of file mac-command.h.
Referenced by NewChannelReq(), Deserialize(), GetChannelIndex(), Print(), and Serialize().
|
private |
The Frequency field, in Hz.
Definition at line 590 of file mac-command.h.
Referenced by NewChannelReq(), Deserialize(), GetFrequency(), Print(), and Serialize().
|
private |
The MaxDR field.
Definition at line 592 of file mac-command.h.
Referenced by NewChannelReq(), Deserialize(), GetMaxDataRate(), Print(), and Serialize().
|
private |
The MinDR field.
Definition at line 591 of file mac-command.h.
Referenced by NewChannelReq(), Deserialize(), GetMinDataRate(), Print(), and Serialize().