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

#include <FlatTransmitterBase.h>

Inheritance diagram for inet::physicallayer::FlatTransmitterBase:
inet::physicallayer::NarrowbandTransmitterBase inet::physicallayer::TransmitterBase inet::physicallayer::ITransmitter inet::IPrintableObject inet::physicallayer::ApskDimensionalTransmitter inet::physicallayer::ApskScalarTransmitter inet::physicallayer::Ieee80211TransmitterBase inet::physicallayer::Ieee802154NarrowbandDimensionalTransmitter inet::physicallayer::Ieee802154NarrowbandScalarTransmitter inet::physicallayer::Ieee80211DimensionalTransmitter inet::physicallayer::Ieee80211ScalarTransmitter inet::physicallayer::Ieee80211UnitDiskTransmitter

Public Member Functions

 FlatTransmitterBase ()
 
virtual std::ostream & printToStream (std::ostream &stream, int level, int evFlags=0) const override
 Prints this object to the provided output stream. More...
 
virtual b getHeaderLength () const
 
virtual void setHeaderLength (b headerLength)
 
virtual bps getBitrate () const
 
virtual void setBitrate (bps bitrate)
 
virtual W getMaxPower () const override
 Returns the maximum transmission power above which no transmission is ever transmitted. More...
 
virtual W getPower () const
 
virtual void setPower (W power)
 
- Public Member Functions inherited from inet::physicallayer::NarrowbandTransmitterBase
 NarrowbandTransmitterBase ()
 
virtual const IModulationgetModulation () const
 
virtual void setModulation (const IModulation *modulation)
 
virtual Hz getCenterFrequency () const
 
virtual void setCenterFrequency (Hz centerFrequency)
 
virtual Hz getBandwidth () const
 
virtual void setBandwidth (Hz bandwidth)
 
- Public Member Functions inherited from inet::physicallayer::TransmitterBase
virtual m getMaxCommunicationRange () const override
 Returns the maximum communication range. More...
 
virtual m getMaxInterferenceRange () const override
 Returns the maximum interference range. More...
 
- Public Member Functions inherited from inet::physicallayer::ITransmitter
virtual const ITransmissioncreateTransmission (const IRadio *transmitter, const Packet *packet, const simtime_t startTime) const =0
 Returns a transmission which describes the radio signal corresponding to the provided packet. More...
 
- 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 Member Functions

virtual void initialize (int stage) override
 
virtual bps computeTransmissionPreambleBitrate (const Packet *packet) const
 
virtual bps computeTransmissionHeaderBitrate (const Packet *packet) const
 
virtual bps computeTransmissionDataBitrate (const Packet *packet) const
 
virtual W computeTransmissionPower (const Packet *packet) const
 
- Protected Member Functions inherited from inet::physicallayer::NarrowbandTransmitterBase
virtual Hz computeCenterFrequency (const Packet *packet) const
 
virtual Hz computeBandwidth (const Packet *packet) const
 
- Protected Member Functions inherited from inet::physicallayer::TransmitterBase
virtual int numInitStages () const override
 

Protected Attributes

simtime_t preambleDuration
 
b headerLength
 
bps bitrate
 
W power
 
- Protected Attributes inherited from inet::physicallayer::NarrowbandTransmitterBase
const IModulationmodulation
 
Hz centerFrequency
 
Hz bandwidth
 

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) }
 

Constructor & Destructor Documentation

◆ FlatTransmitterBase()

inet::physicallayer::FlatTransmitterBase::FlatTransmitterBase ( )
15  :
17  preambleDuration(-1),
18  headerLength(b(-1)),
19  bitrate(bps(NaN)),
20  power(W(NaN))
21 {
22 }

Member Function Documentation

◆ computeTransmissionDataBitrate()

bps inet::physicallayer::FlatTransmitterBase::computeTransmissionDataBitrate ( const Packet packet) const
protectedvirtual
58 {
59  const auto& signalBitrateReq = const_cast<Packet *>(packet)->findTag<SignalBitrateReq>();
60  return signalBitrateReq != nullptr ? signalBitrateReq->getDataBitrate() : bitrate;
61 }

Referenced by inet::physicallayer::ApskScalarTransmitter::createTransmission(), inet::physicallayer::Ieee802154NarrowbandScalarTransmitter::createTransmission(), inet::physicallayer::Ieee802154NarrowbandDimensionalTransmitter::createTransmission(), and inet::physicallayer::ApskDimensionalTransmitter::createTransmission().

◆ computeTransmissionHeaderBitrate()

bps inet::physicallayer::FlatTransmitterBase::computeTransmissionHeaderBitrate ( const Packet packet) const
protectedvirtual
52 {
53  const auto& signalBitrateReq = const_cast<Packet *>(packet)->findTag<SignalBitrateReq>();
54  return signalBitrateReq != nullptr ? signalBitrateReq->getHeaderBitrate() : bitrate;
55 }

◆ computeTransmissionPower()

W inet::physicallayer::FlatTransmitterBase::computeTransmissionPower ( const Packet packet) const
protectedvirtual

◆ computeTransmissionPreambleBitrate()

bps inet::physicallayer::FlatTransmitterBase::computeTransmissionPreambleBitrate ( const Packet packet) const
protectedvirtual
46 {
47  const auto& signalBitrateReq = const_cast<Packet *>(packet)->findTag<SignalBitrateReq>();
48  return signalBitrateReq != nullptr ? signalBitrateReq->getPreambleBitrate() : bitrate;
49 }

◆ getBitrate()

virtual bps inet::physicallayer::FlatTransmitterBase::getBitrate ( ) const
inlinevirtual

◆ getHeaderLength()

virtual b inet::physicallayer::FlatTransmitterBase::getHeaderLength ( ) const
inlinevirtual
38 { return headerLength; }

◆ getMaxPower()

virtual W inet::physicallayer::FlatTransmitterBase::getMaxPower ( ) const
inlineoverridevirtual

Returns the maximum transmission power above which no transmission is ever transmitted.

Returns a value in the range [0, +infinity] or NaN if unspecified.

Reimplemented from inet::physicallayer::TransmitterBase.

44 { return power; }

◆ getPower()

virtual W inet::physicallayer::FlatTransmitterBase::getPower ( ) const
inlinevirtual
45 { return power; }

◆ initialize()

◆ printToStream()

◆ setBitrate()

virtual void inet::physicallayer::FlatTransmitterBase::setBitrate ( bps  bitrate)
inlinevirtual

◆ setHeaderLength()

virtual void inet::physicallayer::FlatTransmitterBase::setHeaderLength ( b  headerLength)
inlinevirtual
39 { this->headerLength = headerLength; }

◆ setPower()

virtual void inet::physicallayer::FlatTransmitterBase::setPower ( W  power)
inlinevirtual

Member Data Documentation

◆ bitrate

◆ headerLength

◆ power

W inet::physicallayer::FlatTransmitterBase::power
protected

◆ preambleDuration


The documentation for this class was generated from the following files:
inet::physicallayer::FlatTransmitterBase::headerLength
b headerLength
Definition: FlatTransmitterBase.h:21
inet::physicallayer::NarrowbandTransmitterBase::printToStream
virtual std::ostream & printToStream(std::ostream &stream, int level, int evFlags=0) const override
Prints this object to the provided output stream.
Definition: NarrowbandTransmitterBase.cc:33
inet::units::units::bps
compose< b, pow< s, -1 > > bps
Definition: Units.h:1169
inet::units::units::W
compose< J, pow< s, -1 > > W
Definition: Units.h:939
inet::physicallayer::NarrowbandTransmitterBase::NarrowbandTransmitterBase
NarrowbandTransmitterBase()
Definition: NarrowbandTransmitterBase.cc:16
inet::physicallayer::FlatTransmitterBase::bitrate
bps bitrate
Definition: FlatTransmitterBase.h:22
EV_FIELD
#define EV_FIELD(...)
Definition: INETDefs.h:112
inet::physicallayer::FlatTransmitterBase::preambleDuration
simtime_t preambleDuration
Definition: FlatTransmitterBase.h:20
NaN
#define NaN
Definition: INETMath.h:91
inet::INITSTAGE_LOCAL
INET_API InitStage INITSTAGE_LOCAL
Initialization of local state that don't use or affect other modules includes:
inet::IPrintableObject::PRINT_LEVEL_TRACE
@ PRINT_LEVEL_TRACE
Definition: IPrintableObject.h:22
inet::units::values::b
value< int64_t, units::b > b
Definition: Units.h:1241
inet::physicallayer::FlatTransmitterBase::power
W power
Definition: FlatTransmitterBase.h:23
inet::physicallayer::NarrowbandTransmitterBase::initialize
virtual void initialize(int stage) override
Definition: NarrowbandTransmitterBase.cc:23