ns3::SatOrbiterHelperLora Class Reference

Creates needed objects for Satellite node like SatorbiterNetDevice objects. More...

#include "satellite-orbiter-helper-lora.h"

+ Inheritance diagram for ns3::SatOrbiterHelperLora:
+ Collaboration diagram for ns3::SatOrbiterHelperLora:

Public Member Functions

 SatOrbiterHelperLora ()
 Default constructor. More...
 
 SatOrbiterHelperLora (SatTypedefs::CarrierBandwidthConverter_t bandwidthConverterCb, uint32_t rtnLinkCarrierCount, uint32_t fwdLinkCarrierCount, Ptr< SatSuperframeSeq > seq, SatMac::ReadCtrlMsgCallback fwdReadCb, SatMac::ReadCtrlMsgCallback rtnReadCb, RandomAccessSettings_s randomAccessSettings)
 Create a SatOrbiterHelperLora to make life easier when creating Satellite point to point network connections. More...
 
virtual ~SatOrbiterHelperLora ()
 
virtual void AttachChannelsUser (Ptr< SatOrbiterNetDevice > dev, Ptr< SatChannel > uf, Ptr< SatChannel > ur, Ptr< SatAntennaGainPattern > userAgp, Ptr< SatNcc > ncc, uint32_t satId, uint32_t userBeamId)
 
virtual Ptr< SatOrbiterNetDeviceCreateOrbiterNetDevice ()
 Create a SatOrbiterNetDevice instance, with correct type infered from child classes. More...
 
TypeId GetInstanceTypeId (void) const
 
- Public Member Functions inherited from ns3::SatOrbiterHelper
 SatOrbiterHelper ()
 Default constructor. More...
 
 SatOrbiterHelper (SatTypedefs::CarrierBandwidthConverter_t bandwidthConverterCb, uint32_t rtnLinkCarrierCount, uint32_t fwdLinkCarrierCount, Ptr< SatSuperframeSeq > seq, SatMac::ReadCtrlMsgCallback fwdReadCb, SatMac::ReadCtrlMsgCallback rtnReadCb, RandomAccessSettings_s randomAccessSettings)
 Create a SatOrbiterHelper to make life easier when creating Satellite point to point network connections. More...
 
virtual ~SatOrbiterHelper ()
 
void AttachChannels (Ptr< NetDevice > dev, Ptr< SatChannel > ff, Ptr< SatChannel > fr, Ptr< SatChannel > uf, Ptr< SatChannel > ur, Ptr< SatAntennaGainPattern > userAgp, Ptr< SatAntennaGainPattern > feederAgp, Ptr< SatNcc > ncc, uint32_t satId, uint32_t gwId, uint32_t userBeamId)
 
void AttachChannelsFeeder (Ptr< SatOrbiterNetDevice > dev, Ptr< SatChannel > ff, Ptr< SatChannel > fr, Ptr< SatAntennaGainPattern > feederAgp, Ptr< SatNcc > ncc, uint32_t satId, uint32_t gwId, uint32_t userBeamId)
 
void EnableCreationTraces (Ptr< OutputStreamWrapper > stream, CallbackBase &cb)
 Enables creation traces to be written in given file. More...
 
TypeId GetInstanceTypeId (void) const
 
void Initialize (Ptr< SatLinkResultsFwd > lrFwd, Ptr< SatLinkResultsRtn > lrRcs2)
 
Ptr< NetDevice > Install (Ptr< Node > n)
 
Ptr< NetDevice > Install (std::string aName)
 
NetDeviceContainer InstallAllOrbiters ()
 This method creates a ns3::SatOrbiterNetDevices with the requested attributes and associate the resulting ns3::NetDevices with the ns3::Nodes corresponding to the orbiters. More...
 
void SetDeviceAttribute (std::string name, const AttributeValue &value)
 Set an attribute value to be propagated to each NetDevice created by the helper. More...
 
void SetFeederPhyAttribute (std::string name, const AttributeValue &value)
 Set an attribute value to be propagated to each Feeder Phy created by the helper. More...
 
void SetIslRoutes (std::vector< std::pair< uint32_t, uint32_t >> isls)
 Set ISL routes. More...
 
void SetUserPhyAttribute (std::string name, const AttributeValue &value)
 Set an attribute value to be propagated to each User Phy created by the helper. More...
 

Static Public Member Functions

static TypeId GetTypeId (void)
 Get the type ID. More...
 
- Static Public Member Functions inherited from ns3::SatOrbiterHelper
static TypeId GetTypeId (void)
 Get the type ID. More...
 

Additional Inherited Members

- Protected Attributes inherited from ns3::SatOrbiterHelper
Ptr< SatBbFrameConfm_bbFrameConfFwd
 
Ptr< SatBbFrameConfm_bbFrameConfRtn
 
SatTypedefs::CarrierBandwidthConverter_t m_carrierBandwidthConverter
 
TracedCallback< std::string > m_creationTrace
 Trace callback for creation traces. More...
 
SatPhy::InterferenceModel m_daFwdLinkInterferenceModel
 
SatPhy::InterferenceModel m_daRtnLinkInterferenceModel
 
std::map< uint32_t, uint16_t > m_deviceCount
 
ObjectFactory m_deviceFactory
 
double m_fwdDaConstantErrorRate
 
SatPhy::ErrorModel m_fwdErrorModel
 
uint32_t m_fwdLinkCarrierCount
 
Ptr< SatLinkResultsm_fwdLinkResults
 Forward channel link results (DVB-S2) are created if ErrorModel is configured to be AVI. More...
 
SatMac::ReadCtrlMsgCallback m_fwdReadCtrlCb
 Control forward link messages callback. More...
 
std::map< std::pair< uint32_t, uint32_t >, Ptr< SatOrbiterFeederMac > > m_gwMacMap
 Map used in regenerative mode to store if MAC already created for a given pair SAT ID / GW ID. More...
 
SatEnums::IslArbiterType_t m_islArbiterType
 Arbiter in use to route packets on ISLs. More...
 
std::vector< uint32_t > m_nodeIds
 Satellites node id. More...
 
RandomAccessSettings_s m_raSettings
 The used random access model settings. More...
 
double m_rtnDaConstantErrorRate
 
SatPhy::ErrorModel m_rtnErrorModel
 
uint32_t m_rtnLinkCarrierCount
 
Ptr< SatLinkResultsm_rtnLinkResults
 Return channel link results (DVB-RCS2) are created if ErrorModel is configured to be AVI. More...
 
SatMac::ReadCtrlMsgCallback m_rtnReadCtrlCb
 Control return link messages callback. More...
 
Ptr< SatSuperframeSeqm_superframeSeq
 Superframe sequence. More...
 
double m_symbolRateFwd
 
double m_symbolRateRtn
 

Detailed Description

Creates needed objects for Satellite node like SatorbiterNetDevice objects.

Handles needed configuration for the Satellite node.

Definition at line 60 of file satellite-orbiter-helper-lora.h.

Constructor & Destructor Documentation

◆ SatOrbiterHelperLora() [1/2]

ns3::SatOrbiterHelperLora::SatOrbiterHelperLora ( )

Default constructor.

Definition at line 86 of file satellite-orbiter-helper-lora.cc.

◆ SatOrbiterHelperLora() [2/2]

ns3::SatOrbiterHelperLora::SatOrbiterHelperLora ( SatTypedefs::CarrierBandwidthConverter_t  bandwidthConverterCb,
uint32_t  rtnLinkCarrierCount,
uint32_t  fwdLinkCarrierCount,
Ptr< SatSuperframeSeq seq,
SatMac::ReadCtrlMsgCallback  fwdReadCb,
SatMac::ReadCtrlMsgCallback  rtnReadCb,
RandomAccessSettings_s  randomAccessSettings 
)

Create a SatOrbiterHelperLora to make life easier when creating Satellite point to point network connections.

Definition at line 95 of file satellite-orbiter-helper-lora.cc.

References ns3::SatOrbiterHelper::m_deviceFactory.

◆ ~SatOrbiterHelperLora()

virtual ns3::SatOrbiterHelperLora::~SatOrbiterHelperLora ( )
inlinevirtual

Definition at line 87 of file satellite-orbiter-helper-lora.h.

Member Function Documentation

◆ AttachChannelsUser()

void ns3::SatOrbiterHelperLora::AttachChannelsUser ( Ptr< SatOrbiterNetDevice dev,
Ptr< SatChannel uf,
Ptr< SatChannel ur,
Ptr< SatAntennaGainPattern userAgp,
Ptr< SatNcc ncc,
uint32_t  satId,
uint32_t  userBeamId 
)
virtual

Simple channel estimation, which does not do actually anything

Implements ns3::SatOrbiterHelper.

Definition at line 125 of file satellite-orbiter-helper-lora.cc.

References ns3::SatEnums::DVB_ORBITER, ns3::SatEnums::LORA_ORBITER, ns3::SatPhy::CreateParam_t::m_beamId, ns3::SatOrbiterHelper::m_carrierBandwidthConverter, ns3::SatOrbiterHelper::m_daRtnLinkInterferenceModel, ns3::SatPhy::CreateParam_t::m_device, ns3::SatOrbiterHelper::m_nodeIds, ns3::SatOrbiterHelper::RandomAccessSettings_s::m_raCollisionModel, ns3::SatOrbiterHelper::RandomAccessSettings_s::m_raInterferenceEliminationModel, ns3::SatOrbiterHelper::RandomAccessSettings_s::m_randomAccessModel, ns3::SatOrbiterHelper::RandomAccessSettings_s::m_raRtnInterferenceModel, ns3::SatOrbiterHelper::m_raSettings, ns3::SatOrbiterHelper::m_rtnDaConstantErrorRate, ns3::SatOrbiterHelper::m_rtnErrorModel, ns3::SatOrbiterHelper::m_rtnLinkCarrierCount, ns3::SatOrbiterHelper::m_rtnLinkResults, ns3::SatOrbiterHelper::m_rtnReadCtrlCb, ns3::SatPhy::CreateParam_t::m_rxCh, ns3::SatPhy::CreateParam_t::m_satId, ns3::SatPhy::CreateParam_t::m_standard, ns3::SatOrbiterHelper::m_superframeSeq, ns3::SatPhy::CreateParam_t::m_txCh, ns3::SatEnums::NT_SAT, ns3::LorawanMac::Receive(), ns3::SatOrbiterNetDevice::ReceiveUser(), ns3::SatEnums::REGENERATION_NETWORK, ns3::SatOrbiterNetDevice::SendControlMsgToFeeder(), ns3::SatLoraConf::SetConf(), ns3::SatConstVariables::SUPERFRAME_SEQUENCE, and ns3::SatEnums::TRANSPARENT.

+ Here is the call graph for this function:

◆ CreateOrbiterNetDevice()

Ptr< SatOrbiterNetDevice > ns3::SatOrbiterHelperLora::CreateOrbiterNetDevice ( )
virtual

Create a SatOrbiterNetDevice instance, with correct type infered from child classes.

Returns
SatOrbiterNetDevice instance

Implements ns3::SatOrbiterHelper.

Definition at line 117 of file satellite-orbiter-helper-lora.cc.

References ns3::SatOrbiterHelper::m_deviceFactory.

◆ GetInstanceTypeId()

TypeId ns3::SatOrbiterHelperLora::GetInstanceTypeId ( void  ) const

Definition at line 79 of file satellite-orbiter-helper-lora.cc.

References GetTypeId().

+ Here is the call graph for this function:

◆ GetTypeId()

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

Get the type ID.

Returns
the object TypeId

Definition at line 70 of file satellite-orbiter-helper-lora.cc.

Referenced by GetInstanceTypeId().

+ Here is the caller graph for this function:

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