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

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

#include "logical-lora-channel.h"

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

Public Member Functions

 LogicalLoraChannel ()
 Default constructor.
 
 LogicalLoraChannel (double frequency)
 Construct a new LogicalLoraChannel object initializing the carrier frequency.
 
 LogicalLoraChannel (double frequency, uint8_t minDataRate, uint8_t maxDataRate)
 Constructor providing initialization of frequency and data rate limits.
 
 ~LogicalLoraChannel () override
 Destructor.
 
void DisableForUplink ()
 Set this channel as disabled for uplink.
 
double GetFrequency () const
 Get the frequency (MHz).
 
uint8_t GetMaximumDataRate () const
 Get the maximum data rate that is allowed on this channel.
 
uint8_t GetMinimumDataRate () const
 Get the minimum data rate that is allowed on this channel.
 
bool IsEnabledForUplink () const
 Test whether this channel is marked as enabled for uplink.
 
void SetEnabledForUplink ()
 Set this channel as enabled for uplink.
 
void SetMaximumDataRate (uint8_t maxDataRate)
 Set the maximum data rate that is allowed on this channel.
 
void SetMinimumDataRate (uint8_t minDataRate)
 ‍**
 
- Public Member Functions inherited from ns3::Object
 Object ()
 Constructor.
 
 ~Object () override
 Destructor.
 
void AggregateObject (Ptr< Object > other)
 Aggregate two Objects together.
 
void Dispose ()
 Dispose of this Object.
 
AggregateIterator GetAggregateIterator () const
 Get an iterator to the Objects aggregated to this one.
 
TypeId GetInstanceTypeId () const override
 Get the most derived TypeId for this Object.
 
template<typename T >
Ptr< T > GetObject () const
 Get a pointer to the requested aggregated Object.
 
template<>
Ptr< ObjectGetObject () const
 Specialization of () for objects of type ns3::Object.
 
template<typename T >
Ptr< T > GetObject (TypeId tid) const
 Get a pointer to the requested aggregated Object by TypeId.
 
template<>
Ptr< ObjectGetObject (TypeId tid) const
 Specialization of (TypeId tid) for objects of type ns3::Object.
 
void Initialize ()
 Invoke DoInitialize on all Objects aggregated to this one.
 
bool IsInitialized () const
 Check if the object has been initialized.
 
void UnidirectionalAggregateObject (Ptr< Object > other)
 Aggregate an Object to another Object.
 
- Public Member Functions inherited from ns3::SimpleRefCount< Object, ObjectBase, ObjectDeleter >
 SimpleRefCount ()
 Default constructor.
 
 SimpleRefCount (const SimpleRefCount &o)
 Copy 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.
 
- 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::Object
static TypeId GetTypeId ()
 Register this type.
 
- Static Public Member Functions inherited from ns3::ObjectBase
static TypeId GetTypeId ()
 Get the type ID.
 

Private Attributes

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

Additional Inherited Members

- Protected Member Functions inherited from ns3::Object
 Object (const Object &o)
 Copy an Object.
 
virtual void DoDispose ()
 Destructor implementation.
 
virtual void DoInitialize ()
 Initialize() implementation.
 
virtual void NotifyNewAggregate ()
 Notify all Objects aggregated to this one of a new Object being aggregated.
 
- 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 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 LogicalLoraChannel can be marked as enabled or disabled for uplink transmission.

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

Constructor & Destructor Documentation

◆ LogicalLoraChannel() [1/3]

ns3::lorawan::LogicalLoraChannel::LogicalLoraChannel ( )

Default constructor.

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

References NS_LOG_FUNCTION.

◆ ~LogicalLoraChannel()

ns3::lorawan::LogicalLoraChannel::~LogicalLoraChannel ( )
override

Destructor.

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

References NS_LOG_FUNCTION.

◆ LogicalLoraChannel() [2/3]

ns3::lorawan::LogicalLoraChannel::LogicalLoraChannel ( double  frequency)

Construct a new LogicalLoraChannel object initializing the carrier frequency.

Parameters
frequencyThe carrier frequency [MHz].

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

References NS_LOG_FUNCTION.

◆ LogicalLoraChannel() [3/3]

ns3::lorawan::LogicalLoraChannel::LogicalLoraChannel ( double  frequency,
uint8_t  minDataRate,
uint8_t  maxDataRate 
)

Constructor providing initialization of frequency and data rate limits.

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

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

References NS_LOG_FUNCTION.

Member Function Documentation

◆ DisableForUplink()

void ns3::lorawan::LogicalLoraChannel::DisableForUplink ( )

Set this channel as disabled for uplink.

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

References m_enabledForUplink.

◆ GetFrequency()

double ns3::lorawan::LogicalLoraChannel::GetFrequency ( ) const

Get the frequency (MHz).

Returns
The center frequency of this channel.

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

References m_frequency.

◆ GetMaximumDataRate()

uint8_t ns3::lorawan::LogicalLoraChannel::GetMaximumDataRate ( ) const

Get the maximum data rate that is allowed on this channel.

Returns
The maximum data rate value.

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

References m_maxDataRate.

◆ GetMinimumDataRate()

uint8_t ns3::lorawan::LogicalLoraChannel::GetMinimumDataRate ( ) const

Get the minimum data rate that is allowed on this channel.

Returns
The minimum data rate value.

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

References m_minDataRate.

◆ GetTypeId()

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

Register this type.

Returns
The object TypeId.

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

References ns3::TypeId::SetParent().

+ Here is the call graph for this function:

◆ IsEnabledForUplink()

bool ns3::lorawan::LogicalLoraChannel::IsEnabledForUplink ( ) const

Test whether this channel is marked as enabled for uplink.

Returns
True if the channel can be used for uplink, false otherwise.

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

References m_enabledForUplink.

◆ SetEnabledForUplink()

void ns3::lorawan::LogicalLoraChannel::SetEnabledForUplink ( )

Set this channel as enabled for uplink.

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

References m_enabledForUplink.

◆ SetMaximumDataRate()

void ns3::lorawan::LogicalLoraChannel::SetMaximumDataRate ( uint8_t  maxDataRate)

Set the maximum data rate that is allowed on this channel.

Parameters
maxDataRateThe maximum data rate value.

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

References m_maxDataRate.

◆ SetMinimumDataRate()

void ns3::lorawan::LogicalLoraChannel::SetMinimumDataRate ( uint8_t  minDataRate)

‍**

Set the minimum data rate that is allowed on this channel.

Parameters
minDataRateThe minimum data rate value.

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

References m_minDataRate.

Member Data Documentation

◆ m_enabledForUplink

bool ns3::lorawan::LogicalLoraChannel::m_enabledForUplink
private

Whether this channel can be used for uplink or not.

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

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

◆ m_frequency

double ns3::lorawan::LogicalLoraChannel::m_frequency
private

The central frequency of this channel, in MHz.

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

Referenced by GetFrequency().

◆ m_maxDataRate

uint8_t ns3::lorawan::LogicalLoraChannel::m_maxDataRate
private

The maximum data rate that is allowed on this channel.

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

Referenced by GetMaximumDataRate(), and SetMaximumDataRate().

◆ m_minDataRate

uint8_t ns3::lorawan::LogicalLoraChannel::m_minDataRate
private

The minimum data rate that is allowed on this channel.

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

Referenced by GetMinimumDataRate(), and SetMinimumDataRate().


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