INET Framework for OMNeT++/OMNEST
inet::physicallayer::Ieee80211ErpOfdmMode Class Reference

#include <Ieee80211ErpOfdmMode.h>

Inheritance diagram for inet::physicallayer::Ieee80211ErpOfdmMode:
inet::physicallayer::Ieee80211OfdmMode inet::physicallayer::Ieee80211ModeBase inet::physicallayer::Ieee80211OfdmTimingRelatedParametersBase inet::physicallayer::IIeee80211Mode inet::IPrintableObject

Public Member Functions

 Ieee80211ErpOfdmMode (const char *name, bool isErpOnly, const Ieee80211OfdmPreambleMode *preambleMode, const Ieee80211OfdmSignalMode *signalMode, const Ieee80211OfdmDataMode *dataMode)
 
virtual std::ostream & printToStream (std::ostream &stream, int level, int evFlags=0) const override
 Prints this object to the provided output stream. More...
 
virtual const simtime_t getSlotTime () const override
 
const simtime_t getRifsTime () const override
 
virtual const simtime_t getSifsTime () const override
 
virtual const simtime_t getDuration (b dataLength) const override
 
- Public Member Functions inherited from inet::physicallayer::Ieee80211OfdmMode
 Ieee80211OfdmMode (const char *name, const Ieee80211OfdmPreambleMode *preambleMode, const Ieee80211OfdmSignalMode *signalMode, const Ieee80211OfdmDataMode *dataMode, Hz channelSpacing, Hz bandwidth)
 
virtual const Ieee80211OfdmPreambleModegetPreambleMode () const override
 
virtual const Ieee80211OfdmSignalModegetHeaderMode () const override
 
virtual const Ieee80211OfdmDataModegetDataMode () const override
 
virtual const Ieee80211OfdmSignalModegetSignalMode () const
 
virtual const simtime_t getCcaTime () const override
 
virtual const simtime_t getPhyRxStartDelay () const override
 
virtual const simtime_t getRxTxTurnaroundTime () const override
 
virtual const simtime_t getPreambleLength () const override
 
virtual const simtime_t getPlcpHeaderLength () const override
 
virtual int getMpduMaxLength () const override
 
- Public Member Functions inherited from inet::physicallayer::Ieee80211ModeBase
 Ieee80211ModeBase (const char *name)
 
virtual const char * getName () const override
 
- Public Member Functions inherited from inet::physicallayer::IIeee80211Mode
IIeee80211PreambleMode_getPreambleMode () const
 
IIeee80211HeaderMode_getHeaderMode () const
 
IIeee80211DataMode_getDataMode () const
 
- Public Member Functions inherited from inet::IPrintableObject
virtual ~IPrintableObject ()
 
virtual std::string printToString () const
 
virtual std::string printToString (int level, int evFlags=0) const
 
virtual std::string getInfoStringRepresentation (int evFlags=0) const
 
virtual std::string getDetailStringRepresentation (int evFlags=0) const
 
virtual std::string getDebugStringRepresentation (int evFlags=0) const
 
virtual std::string getTraceStringRepresentation (int evFlags=0) const
 
virtual std::string getCompleteStringRepresentation (int evFlags=0) const
 

Protected Attributes

bool isErpOnly
 
- Protected Attributes inherited from inet::physicallayer::Ieee80211OfdmMode
const Ieee80211OfdmPreambleModepreambleMode
 
const Ieee80211OfdmSignalModesignalMode
 
const Ieee80211OfdmDataModedataMode
 

Additional Inherited Members

- Public Types inherited from inet::IPrintableObject
enum  PrintLevel {
  PRINT_LEVEL_TRACE, PRINT_LEVEL_DEBUG, PRINT_LEVEL_DETAIL, PRINT_LEVEL_INFO,
  PRINT_LEVEL_COMPLETE = INT_MIN
}
 
enum  PrintFlag { PRINT_FLAG_FORMATTED = (1 << 0), PRINT_FLAG_MULTILINE = (1 << 1) }
 
- Protected Member Functions inherited from inet::physicallayer::Ieee80211OfdmMode
virtual int getLegacyCwMin () const override
 
virtual int getLegacyCwMax () const override
 

Constructor & Destructor Documentation

◆ Ieee80211ErpOfdmMode()

inet::physicallayer::Ieee80211ErpOfdmMode::Ieee80211ErpOfdmMode ( const char *  name,
bool  isErpOnly,
const Ieee80211OfdmPreambleMode preambleMode,
const Ieee80211OfdmSignalMode signalMode,
const Ieee80211OfdmDataMode dataMode 
)
13  :
14  Ieee80211OfdmMode(name, preambleMode, signalMode, dataMode, MHz(20), MHz(20)), // review the channel spacing
16 {
17 
18 }

Member Function Documentation

◆ getDuration()

virtual const simtime_t inet::physicallayer::Ieee80211ErpOfdmMode::getDuration ( b  dataLength) const
inlineoverridevirtual

Reimplemented from inet::physicallayer::Ieee80211OfdmMode.

35 { return preambleMode->getDuration() + signalMode->getDuration() + dataMode->getDuration(dataLength) + 6E-6; }

◆ getRifsTime()

const simtime_t inet::physicallayer::Ieee80211ErpOfdmMode::getRifsTime ( ) const
overridevirtual

Reimplemented from inet::physicallayer::Ieee80211OfdmMode.

39 {
40  return -1;
41 }

◆ getSifsTime()

virtual const simtime_t inet::physicallayer::Ieee80211ErpOfdmMode::getSifsTime ( ) const
inlineoverridevirtual

Reimplemented from inet::physicallayer::Ieee80211OfdmMode.

32 { return 10E-6; }

◆ getSlotTime()

virtual const simtime_t inet::physicallayer::Ieee80211ErpOfdmMode::getSlotTime ( ) const
inlineoverridevirtual

Reimplemented from inet::physicallayer::Ieee80211OfdmMode.

29 { return isErpOnly ? 9E-6 : 20E-6; }

◆ printToStream()

virtual std::ostream& inet::physicallayer::Ieee80211ErpOfdmMode::printToStream ( std::ostream &  stream,
int  level,
int  evFlags = 0 
) const
inlineoverridevirtual

Prints this object to the provided output stream.

Reimplemented from inet::physicallayer::Ieee80211OfdmMode.

25 { return stream << "Ieee80211ErpOfdmMode"; }

Member Data Documentation

◆ isErpOnly

bool inet::physicallayer::Ieee80211ErpOfdmMode::isErpOnly
protected

The documentation for this class was generated from the following files:
inet::physicallayer::Ieee80211OfdmMode::preambleMode
const Ieee80211OfdmPreambleMode * preambleMode
Definition: Ieee80211OfdmMode.h:133
inet::physicallayer::Ieee80211OfdmSignalMode::getDuration
virtual const simtime_t getDuration() const override
Definition: Ieee80211OfdmMode.h:96
inet::physicallayer::Ieee80211OfdmPreambleMode::getDuration
virtual const simtime_t getDuration() const override
Definition: Ieee80211OfdmMode.h:71
inet::physicallayer::Ieee80211OfdmMode::dataMode
const Ieee80211OfdmDataMode * dataMode
Definition: Ieee80211OfdmMode.h:135
inet::physicallayer::Ieee80211ModeBase::name
std::string name
Definition: Ieee80211ModeBase.h:19
inet::physicallayer::Ieee80211ErpOfdmMode::isErpOnly
bool isErpOnly
Definition: Ieee80211ErpOfdmMode.h:20
inet::physicallayer::Ieee80211OfdmMode::signalMode
const Ieee80211OfdmSignalMode * signalMode
Definition: Ieee80211OfdmMode.h:134
inet::physicallayer::Ieee80211OfdmDataMode::getDuration
virtual const simtime_t getDuration(b dataLength) const override
Definition: Ieee80211OfdmMode.cc:188
inet::physicallayer::Ieee80211OfdmMode::Ieee80211OfdmMode
Ieee80211OfdmMode(const char *name, const Ieee80211OfdmPreambleMode *preambleMode, const Ieee80211OfdmSignalMode *signalMode, const Ieee80211OfdmDataMode *dataMode, Hz channelSpacing, Hz bandwidth)
Definition: Ieee80211OfdmMode.cc:26
inet::units::units::MHz
mega< Hz >::type MHz
Definition: Units.h:1083