ns3::LoraLogicalChannel Class Reference

This class represents a logical LoRaWAN channel. More...

#include "lora-logical-channel.h"

+ Inheritance diagram for ns3::LoraLogicalChannel:
+ Collaboration diagram for ns3::LoraLogicalChannel:

Public Member Functions

 LoraLogicalChannel ()
 
 LoraLogicalChannel (double frequency)
 
 LoraLogicalChannel (double frequency, uint8_t minDataRate, uint8_t maxDataRate)
 Constructor providing initialization of frequency and data rate limits. More...
 
virtual ~LoraLogicalChannel ()
 
void DisableForUplink (void)
 Set this channel as disabled for uplink. More...
 
double GetFrequency (void) const
 Get the frequency (MHz). More...
 
uint8_t GetMaximumDataRate (void)
 Get the maximum Data Rate that is allowed on this channel. More...
 
uint8_t GetMinimumDataRate (void)
 Get the minimum Data Rate that is allowed on this channel. More...
 
bool IsEnabledForUplink (void)
 Test whether this channel is marked as enabled for uplink. More...
 
void SetEnabledForUplink (void)
 Set this channel as enabled for uplink. More...
 
void SetMaximumDataRate (uint8_t maxDataRate)
 Set the maximum Data Rate that is allowed on this channel. More...
 
void SetMinimumDataRate (uint8_t minDataRate)
 Set the frequency (MHz). More...
 

Static Public Member Functions

static TypeId GetTypeId (void)
 

Private Attributes

bool m_enabledForUplink
 Whether this channel can be used for uplink or not. More...
 
double m_frequency
 The central frequency of this channel, in MHz. More...
 
uint8_t m_maxDataRate
 The maximum Data Rate that is allowed on this channel. More...
 
uint8_t m_minDataRate
 The minimum Data Rate that is allowed on this channel. More...
 

Detailed Description

This class represents a logical LoRaWAN channel.

A logical channel is characterized by a central frequency and a range of data rates that can be sent on it.

Furthermore, a LoraLogicalChannel can be marked as enabled or disabled for uplink transmission.

Definition at line 40 of file lora-logical-channel.h.

Constructor & Destructor Documentation

◆ LoraLogicalChannel() [1/3]

ns3::LoraLogicalChannel::LoraLogicalChannel ( )

Definition at line 41 of file lora-logical-channel.cc.

◆ ~LoraLogicalChannel()

ns3::LoraLogicalChannel::~LoraLogicalChannel ( )
virtual

Definition at line 50 of file lora-logical-channel.cc.

◆ LoraLogicalChannel() [2/3]

ns3::LoraLogicalChannel::LoraLogicalChannel ( double  frequency)

Definition at line 55 of file lora-logical-channel.cc.

◆ LoraLogicalChannel() [3/3]

ns3::LoraLogicalChannel::LoraLogicalChannel ( double  frequency,
uint8_t  minDataRate,
uint8_t  maxDataRate 
)

Constructor providing initialization of frequency and data rate limits.

Parameters
frequencyThis channel's frequency.
minDataRateThis channel's minimum data rate.
maxDataRateThis channel's maximum data rate.

Definition at line 62 of file lora-logical-channel.cc.

Member Function Documentation

◆ DisableForUplink()

void ns3::LoraLogicalChannel::DisableForUplink ( void  )

Set this channel as disabled for uplink.

Definition at line 108 of file lora-logical-channel.cc.

References m_enabledForUplink.

◆ GetFrequency()

double ns3::LoraLogicalChannel::GetFrequency ( void  ) const

Get the frequency (MHz).

Returns
The center frequency of this channel.

Definition at line 72 of file lora-logical-channel.cc.

References m_frequency.

◆ GetMaximumDataRate()

uint8_t ns3::LoraLogicalChannel::GetMaximumDataRate ( void  )

Get the maximum Data Rate that is allowed on this channel.

Definition at line 96 of file lora-logical-channel.cc.

References m_maxDataRate.

◆ GetMinimumDataRate()

uint8_t ns3::LoraLogicalChannel::GetMinimumDataRate ( void  )

Get the minimum Data Rate that is allowed on this channel.

Definition at line 90 of file lora-logical-channel.cc.

References m_minDataRate.

◆ GetTypeId()

TypeId ns3::LoraLogicalChannel::GetTypeId ( void  )
static

Definition at line 35 of file lora-logical-channel.cc.

◆ IsEnabledForUplink()

bool ns3::LoraLogicalChannel::IsEnabledForUplink ( void  )

Test whether this channel is marked as enabled for uplink.

Definition at line 114 of file lora-logical-channel.cc.

References m_enabledForUplink.

◆ SetEnabledForUplink()

void ns3::LoraLogicalChannel::SetEnabledForUplink ( void  )

Set this channel as enabled for uplink.

Definition at line 102 of file lora-logical-channel.cc.

References m_enabledForUplink.

◆ SetMaximumDataRate()

void ns3::LoraLogicalChannel::SetMaximumDataRate ( uint8_t  maxDataRate)

Set the maximum Data Rate that is allowed on this channel.

Definition at line 84 of file lora-logical-channel.cc.

References m_maxDataRate.

◆ SetMinimumDataRate()

void ns3::LoraLogicalChannel::SetMinimumDataRate ( uint8_t  minDataRate)

Set the frequency (MHz).

Parameters
frequencyMHzThe center frequency this channel should be at. Set the minimum Data Rate that is allowed on this channel.

Definition at line 78 of file lora-logical-channel.cc.

References m_minDataRate.

Member Data Documentation

◆ m_enabledForUplink

bool ns3::LoraLogicalChannel::m_enabledForUplink
private

Whether this channel can be used for uplink or not.

Definition at line 127 of file lora-logical-channel.h.

Referenced by DisableForUplink(), IsEnabledForUplink(), and SetEnabledForUplink().

◆ m_frequency

double ns3::LoraLogicalChannel::m_frequency
private

The central frequency of this channel, in MHz.

Definition at line 112 of file lora-logical-channel.h.

Referenced by GetFrequency().

◆ m_maxDataRate

uint8_t ns3::LoraLogicalChannel::m_maxDataRate
private

The maximum Data Rate that is allowed on this channel.

Definition at line 122 of file lora-logical-channel.h.

Referenced by GetMaximumDataRate(), and SetMaximumDataRate().

◆ m_minDataRate

uint8_t ns3::LoraLogicalChannel::m_minDataRate
private

The minimum Data Rate that is allowed on this channel.

Definition at line 117 of file lora-logical-channel.h.

Referenced by GetMinimumDataRate(), and SetMinimumDataRate().


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